You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中遗传算法(GA)的适应度函数设计咨询

遗传算法适配生产排程的适应度函数设计疑问

我正在用遗传算法(GA)解决生产排程问题——核心是确定不同产品的生产起始日期,目标是最小化原材料转化为成品各工序中机器可用工时的冲突。目前卡在适应度函数的设计环节,不确定现有方案是否合理,也不知道该如何优化推进。

当前实现方案

我现在的思路是计算每台机器在一段时间内每天的总负载,将过载天数的总和作为GA中每个候选解的评估值,但总觉得这个简单的设计存在概念上的问题。当前的评估代码如下:

def evaluate(self, scenario):
    sum_overload = calculate_load_machine(self.reference_date, scenario).to_numpy().sum()
    self.evaluation_note = sum_overload

示例说明

我以机器为索引、生产日期为列生成负载表,当某天机器负载超过1.00(即达到100%容量)时,判定该机器当天过载。

机器负载表

Machines20/02/202321/02/202322/02/202323/02/2023
mA0.860.800.740.90
mB0.900.510.861.10
mC0.330.250.240.50
mD1.201.150.990.95

对应的过载表

Machines20/02/202321/02/202322/02/202323/02/2023
mA0.000.000.000.00
mB0.000.000.001.00
mC0.000.000.000.00
mD1.001.000.000.00

在这个示例中,calculate_load_machine返回的过载总和为3。

潜在优化方向

我考虑将适应度函数改为基于每日可生产产品总数的设计:针对每台机器,根据不同产品的负载占用情况,选择合适的生产组合来避免机器过载,但不确定这个方向是否可行,也不知道具体该落地。

希望能得到关于当前方案的评审、优化建议或者新的设计思路,感谢帮助!

内容的提问来源于stack exchange,提问作者Douglas Mateus Machado

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 12:15:42