哪位兄弟、姐妹学过《运筹学》,帮我编制一下实现下面线材下料优化功能的程序?如果有板材开料的算法更好!(用整型规划)
哪位兄弟、姐妹学过《运筹学》,帮我编制一下实现下面线材下料优化功能的程序?如果有板材开料的算法更好?(用整型规划)
下料问题算法说明
一.功能
已知长料的长度、各种下料规格及数量,本程序可求出最优的下料方案,使既满足下料的要求,又所用的长料根数最少.
二.数据文件格式
第1行 n0,c,n,eps
n0: 料号;
c: 长料尺寸;
n: 下料规格个数;
eps: 精度值.
第2行 y[j](j=1,n)
y[j]: 第j种下料规格尺寸;
第3行 a[i](i=1,n)
a[i]: 第j种下料规格件数.
三.运行
按工具条运行按钮.
四.输出结果
(1) 满足精度要求的各种下料方式;
(2) 最优的下料方案:
① 截法序号及次数;
② 长料及料头的总根数.
五.算例
料号为1001,长为7.4米的料,需截成规格为2.9米、2.1米、1.5米的料各100、100、200根,如何下料,才能使所用长料根数最省?
解:
数据文件:
1001 7.4 3 0.4
2.9 2.1 1.5
100 100 200
输出结果:
下料问题最优解
┌───────────────────────┐
│ 料号 2.900 2.100 1.500 料头 截法次数 │
├───────────────────────┤
│ 1001 1 2 0 0.300 40.000 │
│ 1001 0 2 2 0.200 10.000 │
│ 1001 1 0 3 0.000 60.000 │
├───────────────────────┤
│ 数量 100 100 200 │
├───────────────────────┤
│ 下料总数= 110.000 │
│ 料头总数= 14.000 │
└───────────────────────┘
下料问题最优解
┌───────────────────────┐
│ 料号 2.900 2.100 1.500 料头 截法次数 │
├───────────────────────┤
│ 1001 2 0 1 0.100 40.000 │
│ 1001 0 2 2 0.200 50.000 │
│ 1001 1 0 3 0.000 20.000 │
├───────────────────────┤
│ 数量 100 100 200 │
├───────────────────────┤
│ 下料总数= 110.000 │
│ 料头总数= 14.000 │
└───────────────────────┘