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

相关文章

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

解决RocketMQ的幂等性问题

《解决RocketMQ的幂等性问题》重复消费因调用链路长、消息发送超时或消费者故障导致,通过生产者消息查询、Redis缓存及消费者唯一主键可以确保幂等性,避免重复处理,本文主要介绍了解决RocketM... 目录造成重复消费的原因解决方法生产者端消费者端代码实现造成重复消费的原因当系统的调用链路比较长的时

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

Spring Bean初始化及@PostConstruc执行顺序示例详解

《SpringBean初始化及@PostConstruc执行顺序示例详解》本文给大家介绍SpringBean初始化及@PostConstruc执行顺序,本文通过实例代码给大家介绍的非常详细,对大家的... 目录1. Bean初始化执行顺序2. 成员变量初始化顺序2.1 普通Java类(非Spring环境)(

Spring Boot 中的默认异常处理机制及执行流程

《SpringBoot中的默认异常处理机制及执行流程》SpringBoot内置BasicErrorController,自动处理异常并生成HTML/JSON响应,支持自定义错误路径、配置及扩展,如... 目录Spring Boot 异常处理机制详解默认错误页面功能自动异常转换机制错误属性配置选项默认错误处理

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

如何在Java Spring实现异步执行(详细篇)

《如何在JavaSpring实现异步执行(详细篇)》Spring框架通过@Async、Executor等实现异步执行,提升系统性能与响应速度,支持自定义线程池管理并发,本文给大家介绍如何在Sprin... 目录前言1. 使用 @Async 实现异步执行1.1 启用异步执行支持1.2 创建异步方法1.3 调用

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at