lingo例题

0-1规划的背包问题

有10件货物要从甲地运送到Z地,每件货物的重量(单位:吨)和利润(单位:元)如下表所示。

lingo例题

由于只有一辆最大载重为30t的货车能用来运送货物,所以只能选择部分货物进行运送,要求确定运送哪些货物,使得运送这些货物的总利润最大。

lingo例题

!背包问题;
MODEL:

SETS:
ITEM/1..10/:WEIGHT,PROFIT,X;
ENDSETS

DATA:
WEIGHT = 6 3 4 5 1 2 3 5 4 2;
PROFIT =540 200 180 350 60 150 280 450 320 120;
ENDDATA

MAX = @SUM(ITEM(I):PROFIT(I)*X(I));

@SUM(ITEM(I):WEIGHT(I)*X(I))<=30;
@FOR(ITEM(I):@BIN(X(I)));

END

5个正整数问题

求5个正整数,他们互不相同,且和为100,当他们的乘积最大时,5个整数应该为多少

lingo例题

!5个正整数问题;
model:
sets:
a/1..5/:x;
endsets
max = @prod(a(i):x(i));
@sum(a(i):x(i))=100;
@for(a(i):@gin(x(i)));
x(1)>=1;
@for(a(i)|i#lt#5:x(i+1)>=x(i)+1);

end

向量问题

产生一个10为向量当1<=x<=5时,x等于i的平方,否则x等于i的平方根且求前5个元素的乘积与后5个元素的平方和

lingo例题

!向量问题;

model:

sets:
a/1..10/:x;
endsets

@for(a(i)|i#le#5:x(i)=i^2);
@for(a(i)|i#gt#5:x(i)=@sqrt(i));
p=@prod(a(i)|i#le#5:x(i));
s=@sum(a(i)|i#gt#5:x(i)*x(i));
end
上一篇:
下一篇:
发表评论 取消回复
表情 图片 链接 代码

分享