php和html混合写 先执行哪个_2020五一建模:C题 饲料混合加工问题

2023-12-16 13:59

本文主要是介绍php和html混合写 先执行哪个_2020五一建模:C题 饲料混合加工问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1142b51277c17163b790337a448b1f8f.png

题干很长,要善于抽象出约束条件,毕竟C是优化问题,先建立目标模型,而后用Lindo/Lingo解答

退而求其次,暴力求解,蚁群算法、退火算法做也是可以做的。

第一步:分析

题中写道“加工动物饲料的原料有16种,其中不同原料有不一样的效能率,总量也不一样,不同原料之间还有相似度的要求。可供加工的装置有9台,分3种规格,成本计算也不同。”

“品种代码10的原料不能单独成为一个加工包,必须与其他原料混合。”这一点容易遗忘。

分析数据可以获得“需要加工的原料有16种,共6000kg,所有9台加工装置的加工能力在5400~8100kg之间。”“16种原料中有六种饲料的能耗率<0.8,分别是2、6、7、11、12、14,这六种的总重量是2300kg。”

问题一,研究16种原料两两之间的亲缘度,并进行统计性分析。即依据亲缘值N的计算方法得出一个16*16方阵,并做简要统计学分析。这一问题只是做个小热身,给大家加个油。建议先编写个可以求任意多个原料混合后亲缘度的函数,之后调用就可以。

问题二,将16种原料进行混合“全部”放入9个加工装置中,求出饲料质量最高的混合方案并给出每个加工包的亲缘度。即要求一次性全部加工完毕,且要求饲料质量最高。此问题的目标函数是饲料质量,饲料质量完全可以由“亲缘度”替代,所以优化目标就是“亲缘度”,约束条件仅限于原料混合方式、加工装置的重量范围以及全部加工不考虑加工成本和能耗率!!

相比需要考虑的约束条件而言,不需考虑的因素更为重要,因为这些不需要考虑的因素是我们可以放弃的,换来优化目标最大化。

问题三,也要求“全部”加工,题中的“能耗率”即为“效能率”,应为出题不严谨,不需在这个点过多纠结。求出平均能耗率超过80%的加工包数量最多的混合方案并给出每个加工包的能耗率。即要求一次性全部加工完毕,且要求能耗率最高。有没有发现和问题二很相像,只是优化目标变为“能耗率>0.8的加工包数”,约束条件与问题二相同,不考虑加工成本和饲料质量!!

解题要点:对16种原料的能耗率稍作分析,发现2、6、7、11、12、14,这六种饲料的能耗率<0.8,所以一定要与其它种类原料进行混合,这一点可以作为挖掘出的约束条件。

问题四,问题是层层递进的,部分加工装置可以不生产,用尽量低的加工成本完成整个加工任务,同时要求平均能耗率超过80%的加工包尽量的多。即取消的一次性加工的限制,可以多次加工,优化目标变为“加工成本最低”“能耗率>0.8的加工包数”,约束条件变为原料混合方式、加工装置的重量范围以及加工成本的构成,不考虑饲料质量!!

建议编写一个加工成本的计算函数,参数包括加工装置类型、加工重量。

解题要点:对加工成本稍作分析就可发现,使用的加工装置容量越大,加工重量越重,加工成本就越低。所以考虑极端情况,不需考虑饲料质量——“亲缘度”,尽量使所有加工包能耗率>0.8,且尽量用第三类加工装置进行加工。

问题五,问题更进一步,在问题四的基础上增加了问题二中“亲缘度”的优化目标。

注:问题五中“必须完成整个加工任务”是废话,没有那个问题说可以不加工完的。

解题要点:与问题四相同,没有要求一次性全部加工。在问题四“加工成本最低”“能耗率>0.8的加工包数”的基础上,对“亲缘度尽量高”这一目标进行优化。那么就涉及到一个问题,各优化目标的重要性,打个比方,加工成本与能耗率>0.8的加工包数在不考虑亲缘度的时候已经达到最优,那么现在要考虑亲缘度,我可以为了亲缘度牺牲多大程度的成本和能耗率?这就需要对三个目标排个先后顺序,定个目标比重。可以在论文中进行说明,对各指标进行标准化后,按照各占1/3的重要性进行优化。

标准化的方式可以借鉴B题中第四问写的方式。

第二步:第一问求解

研究16种原料两两之间的亲缘度,并进行统计性分析。即依据亲缘值N的计算方法得出一个16*16方阵,并做简要统计学分析。

7f14d0e55dd5d45fa490034b34dcb115.png
图1 将表格复制的excel中,标记出不能单独加工的10号和效能率低于0.8的品种

使用替换功能将a~z替换为1~26,或者直接导入Matlab,这里我采用后者(需要一些技巧)。

编写个简单的比较函数(稍晚一点我会把函数和相关表格放到公众号里,大家可以下载),结果如下:

c4b2e4eb9541e2eff65d894ecf9eeb01.png
图2 可以看出有不少都是亲缘值为0的,在第二问和第五问中需要考虑亲缘值

有了任意两样本的亲缘值数据,根据题中的公式,就可以计算任意多个样本之间亲缘值了。

题目还要求统计学分析,可以统计一下亲缘值0~10的占比,简单描述一下就可以了。

第三步:第二问求解

将16种原料进行混合放入9个加工装置中,求出饲料质量最高的混合方案并给出每个加工包的亲缘度。

此问题的优化目标是饲料质量,也就是“亲缘度”最高。那么什么是饲料质量最高呢?假果我们已经有最优的混合方案,那么饲料质量=九个加工装置的“混合后亲缘值×加工质量”之和。

16种一次性放入9个装置中,必有混合。而所有装置的加工下限是300kg,所以<300kg的原料必须与其他混合。

我们暂且只考虑可以两两混合的情况。

做题的过程中,发现一个之前没注意到的点:饲料质量,只有成品才能称之为饲料,没加工过的就是原料。

那么总的饲料质量如何计算呢?

毋庸置疑,饲料质量用亲缘值表示。在问题二中,九个加工装置要求一次性加工完全,那就是九种成品饲料,可以计算出九个亲缘值。九种饲料的重量不一,总的饲料质量需要使用饲料重量对九种饲料的亲缘值进行加权。

饲料重量等于各加工装置中不同原料的重量与能效率的乘积之和。

这也就是为什么我的程序里需要按照下图进行计算了。

e8fe3473a45dedd78e3a301ad670e315.png

很多人问我为什么要×质量,我举个例子。

比方说两个加工窖,1号窖里加工了300千克饲料,2号窖里加工了600千克饲料,1号窖的亲缘值是0.8,2号窖的亲缘值是0.6。 总体亲缘值是等于0.8+0.6么?,不是的,应该等于(0.8×300+0.6×600)÷900。这就是权重。

1974a91ee243801b7c08b620e75839b0.png
下划线为新增,完善了两两亲缘值为零不能混合的约束条件

加工窖的编码修改为m,因为到了第四问时加工包的个数可以比加工窖多。

8f325a77db4aa9cdf72e4eee3216255c.png
标黄的地方有改动

3ed0e847c098cd071012abccaaf840fe.png

第四步:第三问求解

bafa8f2327ca14d7cfa59c8056c4b446.png

第五步:第四问求解

对于多目标优化,下面采用了线性加权和法,除此之外还有理想点法。

0d1d8e635b64dd6134750a4c80af13ff.png

fb897ec31a815aa2259fd2f8786620fe.png

第六步:第五问求解

60d9e64e2bfa3f71955e132a840cdc8d.png

这篇关于php和html混合写 先执行哪个_2020五一建模:C题 饲料混合加工问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/500735

相关文章

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

Java实现远程执行Shell指令

《Java实现远程执行Shell指令》文章介绍使用JSch在SpringBoot项目中实现远程Shell操作,涵盖环境配置、依赖引入及工具类编写,详解分号和双与号执行多指令的区别... 目录软硬件环境说明编写执行Shell指令的工具类总结jsch(Java Secure Channel)是SSH2的一个纯J

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2