lingo软件编程,高手帮帮忙!
思路:
第一步,求出切割模式,8m长能分成多少种有效切割方式L?其判断依据就是:每种切割方式的余料要小于0.35m,否则还可以切割出一块小的有效用料来。
第二步,假设第(i,j,k,s)种切割方法L(i,j,k,s),切割了x(i,j,k,s)根角钢,显然这种切割模式下的得到1.5m的料总数为x(i,j,k,s)*(i-1)根,此数应当大于200。注意:为了lingo程序表达的需要,在这里L(i,j,k,s)切割模式下1.5m的角钢为i-1根。
第三步,将所有的各种切割方法L下的x加和起来,则其和为优化目标,使之最小,求解之。
程序代码:
model:
sets:
aa/1..6/:an;!某种切割模式下,8m的角钢切完后,1.5m的料有an根(an=0~5共6种可能取值);
bb/1..6/:bn;!某种切割模式下,8m的角钢切完后,1.45m的料有bn根(bn=0~5共6种可能取值);
cc/1..7/:cn;!某种切割模式下,8m的角钢切完后,1.3m的料有cn根(cn=0~6共7种可能取值);
dd/1..23/:dn;!某种切割模式下,8m的角钢切完后,0.35m的料有dn根(dn=0~22共23种可能取值);
LL(aa,bb,cc,dd):L,x;
!L(i,j,k,s)代表这样一种切割模式:一根8m的角钢切完后,1.5m料切出i-1根,1.45m料切出j-1根,1.3m和0.35m类似,如果切割总长不超出8m,且余料不超出0.35m,则为有效切割,记L(i,j,k,s)=1,否则这种切割模式不能实现或者无效,记L(i,j,k,s)=0;
!这里的x(i,j,k,s)代表第L(i,j,k,s)种切割模式下切割8m角钢的数目;
endsets
min=@sum(LL:x);
@for(aa(i):an(i)=i-1);
@for(bb(j):bn(j)=j-1);
@for(cc(k):cn(k)=k-1);
@for(dd(s):dn(s)=s-1);
@for(aa(i):@for(bb(j):@for(cc(k):@for(dd(s):L(i,j,k,s)=@if(((an(i)*1.5+bn(j)*1.45+cn(k)*1.3+dn(s)*0.35)#gt#7.65)#and#((an(i)*1.5+bn(j)*1.45+cn(k)*1.3+dn(s)*0.35)#le#8),1,0)))));
n=@sum(LL:L);
@sum(LL(i,j,k,s):L(i,j,k,s)*x(i,j,k,s)*an(i))>200;
@sum(LL(i,j,k,s):L(i,j,k,s)*x(i,j,k,s)*bn(j))>200;
@sum(LL(i,j,k,s):L(i,j,k,s)*x(i,j,k,s)*cn(k))>600;
@sum(LL(i,j,k,s):L(i,j,k,s)*x(i,j,k,s)*dn(s))>1200;
@for(LL:@gin(x));
end
运行结果为:有效切割模式59种,最小需切割224根角钢。
model:
sets:
outlet/I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I11/:supply;
center/J1 J2 J3 J4 J5 J6 J7 J8 J9 J10 J11/:A,B,S,V,F,Y;
plant/K/:C;
links1(outlet,center):length1,cost1,volume1;
links2(center,plant):length2,cost2,volume2;
P:x;
endsets
data:
length1=48 427 591 174 125 150 495 541 232 308 145
427 65 151 586 563 291 268 191 256 168 384
591 151 66 726 703 431 480 222 395 309 524
174 586 726 56 63 309 663 700 354 455 217
125 563 703 63 73 260 582 628 331 433 194
150 291 431 309 260 65 337 406 157 162 158
495 368 480 663 582 337 90 378 408 253 463
541 191 222 700 628 406 378 89 428 276 498
232 256 395 354 332 157 408 428 67 159 152
308 168 309 455 433 162 253 276 159 68 254
145 384 524 217 194 158 463 498 152 254 49 ;
length2=297
139
279
457
434
163
307
311
130
59
253;
enddata
改了集定义:
links1(outlet,center):length1,cost1,volume1;
links2(center,plant):length2,cost2,volume2;
2.然后我开始帮你解答这个题目:
【所有代码都是原创的,大概花了我一个上午才帮你解出来的。这个题目虽然不是太难,但是数据有些繁琐。集合声明比较多,维度不一。希望能够帮上你的忙。】
程序部分:
MODEL:
SETS:
program/1..4/;!定义四个项目;
factory/1,2/:totaltime;!定义两个车间,注意:本程序中,我们约定q开头代表数量,c开头代表成本;
warehouse/1,2,3/;!定义三个仓库;
steel/A,B,C,D/;!定义四种钢材(集合中第四种钢材为塑钢门窗);
component/1,2/;!定义两种构件;
linka(steel,warehouse):qlinka;!表2.1==仓库存钢量;
linkb(component,steel):qlinkb;!表2.2==单位构件需钢材量;
linkc(factory,component):time,cost,qlinkc;!表2.3 2.4==车间生产成本(&耗时);
linkd(program,component):cpdemand;!表2.5,cpdemand stands for "component demand"构件需求量;
linke(program,steel):stdemand;!表2.5,stdemand for "steel demand"钢材需求量;
linkf(factory,steel):qlinkf;
deepa(factory,program,component):qdeepa;!2*4*2=16个量;
deepb(warehouse,program,steel):qdeepb;!3*4*4=48个量;
deepc(steel,warehouse,factory):qdeepc;!4*3*2=24;
!deepd(factory,component,steel):qdeepd;!2*2*4=16;
transa(factory,program):qtransa,ctransa;!本集合和下面两个集合,仓库,车间,项目之间的运输。表2.6;
transb(warehouse,program):qtransb,ctransb;
transc(warehouse,factory):qtransc,ctransc;
ENDSETS
DATA:
qlinka=
4000 4000 6000
3000 3500 2500
3000 5000 5000
200 250 100;
qlinkb=
15 10 20 0
20 10 15 0;
totaltime= 35000 60000;
time=100 200
200 100;
cost=6600 7800
6500 7300;
cpdemand=
50 100
30 60
100 200
50 80;
stdemand=
100 70 0 100
50 80 0 120
30 90 0 80
70 60 0 200;
ctransa=
100 150 80 70
50 60 80 90;
ctransb=
40 20 30 50
60 40 80 100
50 60 75 85;
ctransc=
40 80
100 20
80 40;
ENDDATA
MIN=@sum(linkc:cost*qlinkc)+@sum(transa:qtransa*ctransa)+@sum(transb:qtransb*ctransb)+@sum(transc:qtransc*ctransc);
!1.构件需求约束;
@for(linkd(i,j):@sum(factory(k):qdeepa(k,i,j))=cpdemand(i,j));
!2.钢材需求约束;
@for(linke(i,j):@sum(warehouse(k):qdeepb(k,i,j))=stdemand(i,j));
!3.车间工时约束;
@for(factory(i):@sum(component(j):time(i,j)*qlinkc(i,j))<=totaltime(i));
!4.库存钢材数量平衡;
@for(linka(i,j):@sum(program(k):qdeepb(j,k,i))+@sum(factory(m):qdeepc(i,j,m))<=qlinka(i,j));
!5.生产运出平衡;
@for(linkc(i,j):@sum(program(k):qdeepa(i,k,j))=qlinkc(i,j));
!6.单位构件需钢材量约束;
@for(linkf(i,k):qlinkf(i,k)=@sum(component(j):qlinkc(i,j)*qlinkb(j,k)));
!7.运输量的约束;
@for(transa(i,j):qtransa=@sum(component(k):qdeepa(i,j,k)));
@for(transb(i,j):qtransb=@sum(steel(k):qdeepb(i,j,k)));
@for(transc(i,j):qtransc=@sum(steel(k):qdeepc(k,i,j)));
@for(linkf(i,j):qlinkf(i,j)=@sum(warehouse(k):qdeepc(j,k,i)));
END
部分结果:
Global optimal solution found at iteration: 80
Objective value: 5770900.
Variable Value Reduced Cost
TOTALTIME( 1) 35000.00 0.000000
TOTALTIME( 2) 60000.00 0.000000
QLINKA( A, 1) 4000.000 0.000000
QLINKA( A, 2) 4000.000 0.000000
QLINKA( A, 3) 6000.000 0.000000
QLINKA( B, 1) 3000.000 0.000000
QLINKA( B, 2) 3500.000 0.000000
QLINKA( B, 3) 2500.000 0.000000
QLINKA( C, 1) 3000.000 0.000000
QLINKA( C, 2) 5000.000 0.000000
QLINKA( C, 3) 5000.000 0.000000
QLINKA( D, 1) 200.0000 0.000000
QLINKA( D, 2) 250.0000 0.000000
QLINKA( D, 3) 100.0000 0.000000
QLINKB( 1, A) 15.00000 0.000000
QLINKB( 1, B) 10.00000 0.000000
QLINKB( 1, C) 20.00000 0.000000
QLINKB( 1, D) 0.000000 0.000000
QLINKB( 2, A) 20.00000 0.000000
QLINKB( 2, B) 10.00000 0.000000
QLINKB( 2, C) 15.00000 0.000000
QLINKB( 2, D) 0.000000 0.000000
TIME( 1, 1) 100.0000 0.000000
TIME( 1, 2) 200.0000 0.000000
TIME( 2, 1) 200.0000 0.000000
TIME( 2, 2) 100.0000 0.000000
COST( 1, 1) 6600.000 0.000000
COST( 1, 2) 7800.000 0.000000
COST( 2, 1) 6500.000 0.000000
COST( 2, 2) 7300.000 0.000000
QLINKC( 1, 1) 150.0000 0.000000
QLINKC( 1, 2) 0.000000 17.50000
QLINKC( 2, 1) 80.00000 0.000000
QLINKC( 2, 2) 440.0000 0.000000
CPDEMAND( 1, 1) 50.00000 0.000000
CPDEMAND( 1, 2) 100.0000 0.000000
CPDEMAND( 2, 1) 30.00000 0.000000
CPDEMAND( 2, 2) 60.00000 0.000000
CPDEMAND( 3, 1) 100.0000 0.000000
CPDEMAND( 3, 2) 200.0000 0.000000
CPDEMAND( 4, 1) 50.00000 0.000000
CPDEMAND( 4, 2) 80.00000 0.000000
STDEMAND( 1, A) 100.0000 0.000000
STDEMAND( 1, B) 70.00000 0.000000
STDEMAND( 1, C) 0.000000 0.000000
STDEMAND( 1, D) 100.0000 0.000000
STDEMAND( 2, A) 50.00000 0.000000
STDEMAND( 2, B) 80.00000 0.000000
STDEMAND( 2, C) 0.000000 0.000000
STDEMAND( 2, D) 120.0000 0.000000
STDEMAND( 3, A) 30.00000 0.000000
STDEMAND( 3, B) 90.00000 0.000000
STDEMAND( 3, C) 0.000000 0.000000
STDEMAND( 3, D) 80.00000 0.000000
STDEMAND( 4, A) 70.00000 0.000000
STDEMAND( 4, B) 60.00000 0.000000
STDEMAND( 4, C) 0.000000 0.000000
STDEMAND( 4, D) 200.0000 0.000000
QLINKF( 1, A) 2250.000 0.000000
QLINKF( 1, B) 1500.000 0.000000
QLINKF( 1, C) 3000.000 0.000000
QLINKF( 1, D) 0.000000 0.000000
QLINKF( 2, A) 10000.00 0.000000
QLINKF( 2, B) 5200.000 0.000000
QLINKF( 2, C) 8200.000 0.000000
QLINKF( 2, D) 0.000000 0.000000
QDEEPA( 1, 1, 1) 0.000000 0.000000
QDEEPA( 1, 1, 2) 0.000000 70.00000
QDEEPA( 1, 2, 1) 0.000000 40.00000
QDEEPA( 1, 2, 2) 0.000000 110.0000
QDEEPA( 1, 3, 1) 100.0000 0.000000
QDEEPA( 1, 3, 2) 0.000000 20.00000
QDEEPA( 1, 4, 1) 50.00000 0.000000
QDEEPA( 1, 4, 2) 0.000000 0.000000
QDEEPA( 2, 1, 1) 50.00000 0.000000
QDEEPA( 2, 1, 2) 100.0000 0.000000
QDEEPA( 2, 2, 1) 30.00000 0.000000
QDEEPA( 2, 2, 2) 60.00000 0.000000
QDEEPA( 2, 3, 1) 0.000000 50.00000
QDEEPA( 2, 3, 2) 200.0000 0.000000
QDEEPA( 2, 4, 1) 0.000000 70.00000
QDEEPA( 2, 4, 2) 80.00000 0.000000
QDEEPB( 1, 1, A) 100.0000 0.000000
QDEEPB( 1, 1, B) 70.00000 0.000000
QDEEPB( 1, 1, C) 0.000000 62.50000
QDEEPB( 1, 1, D) 0.000000 25.00000
QDEEPB( 1, 2, A) 50.00000 0.000000
QDEEPB( 1, 2, B) 80.00000 0.000000
QDEEPB( 1, 2, C) 0.000000 42.50000
QDEEPB( 1, 2, D) 0.000000 25.00000
QDEEPB( 1, 3, A) 30.00000 0.000000
QDEEPB( 1, 3, B) 90.00000 0.000000
QDEEPB( 1, 3, C) 0.000000 52.50000
QDEEPB( 1, 3, D) 80.00000 0.000000
QDEEPB( 1, 4, A) 70.00000 0.000000
QDEEPB( 1, 4, B) 60.00000 0.000000
QDEEPB( 1, 4, C) 0.000000 72.50000
QDEEPB( 1, 4, D) 120.0000 0.000000
QDEEPB( 2, 1, A) 0.000000 80.00000
QDEEPB( 2, 1, B) 0.000000 40.00000
QDEEPB( 2, 1, C) 0.000000 80.00000
QDEEPB( 2, 1, D) 80.00000 0.000000
QDEEPB( 2, 2, A) 0.000000 80.00000
QDEEPB( 2, 2, B) 0.000000 40.00000
QDEEPB( 2, 2, C) 0.000000 60.00000
QDEEPB( 2, 2, D) 120.0000 0.000000
QDEEPB( 2, 3, A) 0.000000 110.0000
QDEEPB( 2, 3, B) 0.000000 70.00000
QDEEPB( 2, 3, C) 0.000000 100.0000
QDEEPB( 2, 3, D) 0.000000 5.000000
QDEEPB( 2, 4, A) 0.000000 110.0000
QDEEPB( 2, 4, B) 0.000000 70.00000
QDEEPB( 2, 4, C) 0.000000 120.0000
QDEEPB( 2, 4, D) 0.000000 5.000000
QDEEPB( 3, 1, A) 0.000000 50.00000
QDEEPB( 3, 1, B) 0.000000 10.00000
QDEEPB( 3, 1, C) 0.000000 50.00000
QDEEPB( 3, 1, D) 20.00000 0.000000
QDEEPB( 3, 2, A) 0.000000 80.00000
QDEEPB( 3, 2, B) 0.000000 40.00000
QDEEPB( 3, 2, C) 0.000000 60.00000
QDEEPB( 3, 2, D) 0.000000 30.00000
QDEEPB( 3, 3, A) 0.000000 85.00000
QDEEPB( 3, 3, B) 0.000000 45.00000
QDEEPB( 3, 3, C) 0.000000 75.00000
QDEEPB( 3, 3, D) 0.000000 10.00000
QDEEPB( 3, 4, A) 0.000000 75.00000
QDEEPB( 3, 4, B) 0.000000 35.00000
QDEEPB( 3, 4, C) 0.000000 85.00000
QDEEPB( 3, 4, D) 80.00000 0.000000
QDEEPC( A, 1, 1) 2250.000 0.000000
QDEEPC( A, 1, 2) 0.000000 0.000000
QDEEPC( A, 2, 1) 0.000000 120.0000
QDEEPC( A, 2, 2) 4000.000 0.000000
QDEEPC( A, 3, 1) 0.000000 80.00000
QDEEPC( A, 3, 2) 6000.000 0.000000
QDEEPC( B, 1, 1) 1500.000 0.000000
QDEEPC( B, 1, 2) 0.000000 40.00000
QDEEPC( B, 2, 1) 0.000000 80.00000
QDEEPC( B, 2, 2) 3500.000 0.000000
QDEEPC( B, 3, 1) 0.000000 40.00000
QDEEPC( B, 3, 2) 1700.000 0.000000
QDEEPC( C, 1, 1) 3000.000 0.000000
QDEEPC( C, 1, 2) 0.000000 62.50000
QDEEPC( C, 2, 1) 0.000000 57.50000
QDEEPC( C, 2, 2) 5000.000 0.000000
QDEEPC( C, 3, 1) 0.000000 17.50000
QDEEPC( C, 3, 2) 3200.000 0.000000
QDEEPC( D, 1, 1) 0.000000 85.00000
QDEEPC( D, 1, 2) 0.000000 125.0000
QDEEPC( D, 2, 1) 0.000000 100.0000
QDEEPC( D, 2, 2) 0.000000 20.00000
QDEEPC( D, 3, 1) 0.000000 90.00000
QDEEPC( D, 3, 2) 0.000000 50.00000
QTRANSA( 1, 1) 0.000000 0.000000
QTRANSA( 1, 2) 0.000000 0.000000
QTRANSA( 1, 3) 100.0000 0.000000
QTRANSA( 1, 4) 50.00000 0.000000
QTRANSA( 2, 1) 150.0000 0.000000
QTRANSA( 2, 2) 90.00000 0.000000
QTRANSA( 2, 3) 200.0000 0.000000
QTRANSA( 2, 4) 80.00000 0.000000
CTRANSA( 1, 1) 100.0000 0.000000
CTRANSA( 1, 2) 150.0000 0.000000
CTRANSA( 1, 3) 80.00000 0.000000
CTRANSA( 1, 4) 70.00000 0.000000
CTRANSA( 2, 1) 50.00000 0.000000
CTRANSA( 2, 2) 60.00000 0.000000
CTRANSA( 2, 3) 80.00000 0.000000
CTRANSA( 2, 4) 90.00000 0.000000
QTRANSB( 1, 1) 170.0000 0.000000
QTRANSB( 1, 2) 130.0000 0.000000
QTRANSB( 1, 3) 200.0000 0.000000
QTRANSB( 1, 4) 250.0000 0.000000
QTRANSB( 2, 1) 80.00000 0.000000
QTRANSB( 2, 2) 120.0000 0.000000
QTRANSB( 2, 3) 0.000000 0.000000
QTRANSB( 2, 4) 0.000000 0.000000
QTRANSB( 3, 1) 20.00000 0.000000
QTRANSB( 3, 2) 0.000000 0.000000
QTRANSB( 3, 3) 0.000000 0.000000
QTRANSB( 3, 4) 80.00000 0.000000
CTRANSB( 1, 1) 40.00000 0.000000
CTRANSB( 1, 2) 20.00000 0.000000
CTRANSB( 1, 3) 30.00000 0.000000
CTRANSB( 1, 4) 50.00000 0.000000
CTRANSB( 2, 1) 60.00000 0.000000
CTRANSB( 2, 2) 40.00000 0.000000
CTRANSB( 2, 3) 80.00000 0.000000
CTRANSB( 2, 4) 100.0000 0.000000
CTRANSB( 3, 1) 50.00000 0.000000
CTRANSB( 3, 2) 60.00000 0.000000
CTRANSB( 3, 3) 75.00000 0.000000
CTRANSB( 3, 4) 85.00000 0.000000
QTRANSC( 1, 1) 6750.000 0.000000
QTRANSC( 1, 2) 0.000000 0.000000
QTRANSC( 2, 1) 0.000000 0.000000
QTRANSC( 2, 2) 12500.00 0.000000
QTRANSC( 3, 1) 0.000000 0.000000
QTRANSC( 3, 2) 10900.00 0.000000
CTRANSC( 1, 1) 40.00000 0.000000
CTRANSC( 1, 2) 80.00000 0.000000
CTRANSC( 2, 1) 100.0000 0.000000
CTRANSC( 2, 2) 20.00000 0.000000
CTRANSC( 3, 1) 80.00000 0.000000
CTRANSC( 3, 2) 40.00000 0.000000
最后:我对结果只是检验了一下需求量,发现满足,如果你发现有什么不对的地方,可以告诉我,我会对其进行调整。另外我的集合声明中有些如果你觉得繁琐的地方,可以进行修改。联系方式511757449@qq.com,或者直接在百度HI上留言。
某建筑公司有四个建筑工地地准备开工,该公司有两个金属构件生产车间,有三个仓库,内存三种规格钢材,一种规格塑钢门窗(成套使用)。仓库的钢材品种及拥有量见表2.1,构件车间生产的构件品种及工时消耗、单位材料消耗和生产成本见表2.2、表2.3、表2.4,各项目构件和钢材需求量见表2.5,由构件车间向各项目和由仓库向各项目运送物资的单位运费见表2.6。试建立并求解模型,编制各车间的产品生产计划、由构件车间向各项目和由仓库向各项目、各车间的物资调运计划,使总成本为最小。
表2.1 仓库的钢材品种、塑钢拥有量
甲仓库 乙仓库 丙仓库
A型钢材(吨) 4000 4000 6000
B型钢材(吨) 3000 3500 2500
C型钢材(吨) 3000 5000 5000
塑钢门窗(套) 200 250 100
表2.2 单位构件材料消耗量 单位:吨/件
A型钢材(吨) B型钢材(吨) C型钢材(吨)
钢梁 15 10 20
钢架 20 10 15
表2.3 车间构件生产工时消耗表
钢梁(小时/件) 钢架(小时/件) 工时拥有量(小时)
一车间 100 200 35000
二车间 200 100 60000
表2.4 车间生产成本表 单位:元/件
钢梁 钢架
一车间 6600 7800
二车间 6500 7300
表2.5 各项目钢梁、钢架、钢材、塑钢门窗需求量表
钢梁(件) 钢架(件) A型钢材(吨) B型钢材(吨) 塑钢门窗(套)
项目1 50 100 100 70 100
项目2 30 60 50 80 120
项目3 100 200 30 90 80
项目4 50 80 70 60 200
合计 230 440 250 300 400
表2.6 单位物资运价表 单位:元/吨. 元/套. 元/件.
一车间 二车间 项目1 项目2 项目3 项目4
一车间 -- -- 100 150 80 70
二车间 -- -- 50 60 80 90
甲仓库 40 80 40 20 30 50
乙仓库 100 20 60 40 80 100
丙仓库 80 40 50 60 75 85
在否,我这里有一个关于选址和路径优化问题,需要用lingo编程求解,我在...
应该是没问题的了。。model:sets:hang\/1..9\/;lie\/1..9\/;shu\/1..9\/;link(hang,lie,shu):x;endsets min=@sum(link(i,j,k):x(i,j,k));for(hang(i):for(lie(j):sum(shu(k):x(i,j,k))=1));for(hang(i):for(shu(k):sum(lie(j):x(i,j,k))=1));for(lie(j):...
linux的内核源码在哪linux的内核源码
linux操作系统内核使用哪几种编程语言开发的?Linux操作系统是用C语言、汇编语言编写的。Linux(l?n?ks\/LIN-?ks)是一种自由和开放源码的类UNIX操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布,在加上用户空间的应用程序之后,成为Linux操作系统。Linux也是自由软件和开放源代码软件发...
(畅想)如何改进编程模式及cpu体系结构防止缓冲区溢出,不要求标准答案...
此外,有些实现不支持跳板代码,因此可能必须对需要这种保护的程序禁用该特性。Red Hat 的 Ingo Molnar 在他的“exec-shield”补丁中实现了这种思想,该补丁由 Fedora 核心(可从 Red Hat 获得它的免费版本)所使用。最新版本的 OpenWall GNU\/Linux (OWL)使用了 Solar Designer 提供的这种方法的实现(请参阅 参考资料 ...
lammps 可以同时编译 并行 和 单核吗
在Linux 2.5内核中,已经做了很多改进线程性能的工作。在Linux 2.6中改进的线程模型仍然是由Ingo Molnar 来完成的。它基于一个1:1的线程模型(一个内核线程对应一个用户线程),包括内核内在的对新NPTL(Native Posix Threading Library)的支持,这个新的NPTL是由Molnar和Ulrich Drepper合作开发的。2003...
linux调度算法的核心思想是什么?
基于KURT-Linux的应用程序:艺术(ATM参考交通系统),多媒体播放软件。 KURT-Linux的另一种方法,需要频繁的时钟芯片编程。3.3。 RED-Linux的 RED-Linux是加州大学尔湾,实时Linux系统的发展[REDWeb] [Wang99],它将支持实时调度和Linux实现相同的操作系统内核。它支持三种类型的调度算法,即:时间驱动...
人兰儿肤: 用@bin(x)和@for(w:@bin(x))分别定义单个和多个的0-1变量,比如 1.有x和y是0-1变量,那么可以这样定义:@bin(x);@bin(y); 2.有两个在w(t,q)坐标下的数组x(i,j),y(i,j)则可以这样把数组的所有变量都定义为0-1变量:@for(w:@bin(x));@for(w:@bin(y));
石首市15314477120: 求lingo高手解决编程问题.一个超级简单的程序,三个数求和编不出来. 程序如下. - ?
人兰儿肤: model: sets: mj/1..4/:b,f; endsets data: e=2; r=2; y=1.04719755; w=7.27E-5; enddata max=(a+p-q)/3; a>0.3; a=l/s; k=@sum(mj(i):b(i))/s; 1<k;k<2.5; p=1/k; h=(e*r*@cos(y))/((@cos(w*t))^2-(@cos(y))^2)^(1/2); s=l+c+@sum(mj(i):b(i)/f(i)); q=h/@sum(mj(i):b(i)/f(i)); q>0.7; end
石首市15314477120: 如何用LINGO软件解这个非线性规划(如何在该软件界面具体编码),求详解~大师,帮帮忙…… - ?
人兰儿肤: 直接一句一句写好了 max=(v1-1200)*(v2-2500)*(v3-1800)*(v4-1000); @bnd(1200,v1,15000); @bnd(2000,v2,15000); @bnd(1800,v3,15000); @bnd(1000,v4,15000); v1+v2+v3+v4=15000; v1+v2>=5000; v1+v3>=5500; v1+v4>=4500; v2+v3>=6000; ...
石首市15314477120: 跪求LINGO大神,帮忙设计个程序啊!!!! - ?
人兰儿肤: x1表示从2点开始工作的人数 其它往后推 min=x1+x2+x3+x4+x5+x6; x1+x2>=60; x2+x3>=70; x3+x4>=60; x4+x5>=50; x5+x6>=20; x6+x1>=10; @gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);
石首市15314477120: 在lingo程序中怎么输入圆周率pi啊?求高手帮忙 - ?
人兰儿肤: 试试这样子: Model: max=21.5+x1*@sin(4*pi*x1)+x2*@sin(20*pi*x2); @bnd(-3,x1,12.1); @bnd(4.1,x2,5.8); pi=3.14159; end
石首市15314477120: 怎么用Lingo编写下面的程序 - ?
人兰儿肤: 其实很简单 基本跟原来写法一样 注意一些语法的规范就好了 min=x1+x2+X3+X4; x1+x2>=20; x1+x2>=25; x2+X3+X4>=10; x1+X3+X4>=10; x1+x2+X3+X4>=30; x1+x2+X4>=20; X3>=20; X3+X4>=10;excel应该没有做线性规划的功能
石首市15314477120: LINGO是什么软件? - ?
人兰儿肤: LINGO是Linear Interactive and General Optimizer的缩写,即“交互式的线性和通用优化求解器”,由美国LINDO系统公司(Lindo System Inc.)推出的,可以用于求解非线性规划,也可以用于一些线性和非线性方程组的求解等,功能十分强大...
石首市15314477120: 请问有没有大神可以写出如下LINGO程序 - ?
人兰儿肤: 目标函数:约束条件:其中,表示第只船;表示从游客下水的第一天开始记第一天的第天.具体内容看不见
石首市15314477120: 求大神帮忙编写一个lingo程序 - ?
人兰儿肤: 题目:在法国西南部有一家公司,这家公司需要将180 吨存放于仓库D1 到D4 中的化学产品运输到3 个回收中心C1,C2 和C3.仓库D1 到D4 分别储存有50,40,35,和65 吨化学产品,总计为190 吨.可以选用两种运输方式:公路运输和铁路运输...
石首市15314477120: 求高手帮我用lingo软件计算混合整数规划的配送选址问题?
人兰儿肤: sets: si/1..5/:s,x,y; sj/1..3/:u,r,m,n; sij(si,sj):l,h; endsets data: X=20 20 60 80 60; Y=20 60 80 40 20; M=40 40 60; N=20 60 60; S=50 40 60 20 30; R=150 200 100; U=30 50 18; theta=0.4; omega=8; enddata calc: @for(sij(i,j):l(i,j)=@sqrt((x(i)-m(j))^2+(y(i)...