数学建模社区-数学中国
标题:
钢材下料优化的问题
[打印本页]
作者:
KoWuDa
时间:
2013-10-14 16:46
标题:
钢材下料优化的问题
一般教程里面,都是固定了切割的模式,比如下面的题目:
v, y# a- T3 Z
原料长度:19m
3 K: x9 T G* H6 B3 ]: L, y
客户长度:4m,6m,8m,5m
; m8 e3 p; {1 R: p) ]3 F
数量:50,20,15,10
% j* w# `+ s2 W! }9 y2 n
' x% R! a" w5 v( R, k6 I0 y `
Min=x1+x2+x3;
' I Q" _* k* [+ F( l* b
r11*x1+r12*x2+r13*x3>=50;
5 g' [0 R7 a' |+ N. h4 ~
r21*x1+r22*x2+r23*x3>=10;
+ M0 P1 {6 T1 r7 u! q$ y
r31*x1+r32*x2+r33*x3>=20;
( _- `9 `. x+ \# V) M R
r41*x1+r42*x2+r43*x3>=15;
# q4 [( w* g, O# [0 h2 P: S" m: {. b3 `
4*r11+5*r21+6*r31+8*r41<=19;
) Q5 ?0 A+ q2 J+ n
4*r12+5*r22+6*r32+8*r42<=19;
$ S) B8 V1 m3 r$ V8 e
4*r13+5*r23+6*r33+8*r43<=19;
" N% y R1 q' I! k D
4*r14+5*r24+6*r34+8*r44<=19;
+ ?1 v6 V8 _& x5 [0 \
+ F8 J% d, l' S, e6 E& f9 j5 U
2 M5 b! F" S- E3 x s& V
4*r11+5*r21+6*r31+8*r41>=16;
8 U. c/ ?& U; P1 b
4*r12+5*r22+6*r32+8*r42>=16;
! l/ p! O! a& |0 W! u
4*r13+5*r23+6*r33+8*r43>=16;
: x! z+ ^/ m5 |! ^
4*r14+5*r24+6*r34+8*r44>=16;
, Y8 A& D! [ s/ Y
( V' h5 b& T) o, Y, [
x1+x2+x3>=26;
, s! `0 ~1 L8 w
x1+x2+x3<=31;
$ J$ o3 v* q; E! _
, j+ V+ |" v! e9 H$ x7 Q% x
x1>=x2;
$ a. u6 r0 G9 g$ S i* B3 q0 ~! f
x2>=x3;
: [& w" D, J z
x3>=x4;
. o1 ?, c, Q) V+ K& w
. ]( `1 O$ C' f9 E" O$ Z
@gin(x1);@gin(x2);@gin(x3);@gin(x4);
( P! N5 t( M8 o! U
@gin(r11);@gin(r12);@gin(r13);@gin(r14);
" ~ M6 H/ _/ X8 J' N5 n
@gin(r21);@gin(r22);@gin(r23);@gin(r24);
Y* V( j* V, Y
@gin(r31);@gin(r32);@gin(r33);@gin(r34);
! `9 D0 _& |, T* G1 v
@gin(r41);@gin(r42);@gin(r43);@gin(r44);
6 p8 W* n. `$ a1 I" b9 A
Z4 l7 |9 a: B" n; \
这里一般都规定死了,是三种切割模式,我问的是,如果没有规定死,怎样使用LINGO计算出各种切割模式下的结果,然后统计这些结果呢??
5 R/ _5 p7 _- B& v9 l6 `8 e
; U/ X; |( g* T
最好是有代码,我最近在做一个类似的下料问题,遇到这种情况,就是最后的切割模式先不管它,只要材料使用率最高就好!
: p% B: x* M7 B) K
& K7 H# t! }0 B$ Y" ^6 T
我是要在程序里调用LINGO,来返回数据的,所以,最好,能找个高手,教教我...急的不行了...!
6 a( j- T) H5 u; r! F
6 Z' K& j. \3 r$ W
作者:
KoWuDa
时间:
2013-10-14 17:06
如果我要切割的种类,很多,光是枚举这些切割的模式,就要半天时间,而枚举出来的结果,如果是海量的数据,那又该怎么办呢?
作者:
KoWuDa
时间:
2013-10-14 17:07
退一步,就算不是很多,如果有十几种,这也不算少了.按照前面的代码,那种写法,岂不是累死个人...
作者:
linux5
时间:
2013-11-19 15:30
请参考IBM cplex中的cutstock例子,这个问题上个世纪60年代就解决了。方法是所谓的“column generation"
作者:
shuang0813
时间:
2013-12-22 22:58
谢谢分享!
作者:
warriorIverson
时间:
2014-1-17 15:50
感谢楼主分享,哈哈
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5