简单的数学建模编程

发布 2022-07-01 07:20:28 阅读 3205

模型建立:假设x11,x12,x14表示投标人1投标土地a,b,d(也就是投标人1的第一个组合包);x23,x24,x25表示投标人1投标土地c,d,e(也就是投标人的第二个组合包);同理用x32,x35表示投标人2投标土地b,e(也就是投标人2的第一个组合包),x41x44表示投标人投标土地a,d (也就是投标人2的第二个组合包);x52,x54,x55表示投标人3投标土地b,d,e(也就是投标人3的第一个组合包),x63,x65表示投标人3投标土地c,e(也就是投标人3的第二个组合包).

目标函数:就是**最大化社会福利,即:

max=95*y1+80*y2+60*y3+82*y4+90*y5+71*y6(为便于用lingo求解,引入中间变量y1,y2,y3,y4,y5,y6.如果用max=95*x11*x12*x14+80*x23*x24*x25+60*x32*x35+82*x41*x44+90*x52*x54*x55+71*x63*x65;做为目标函数lingo则不能求出最优解。)

约束条件:约束有。

土地数量的限制:每块土地只能买给一个投标人所以

x11+x41<=1;

x12+x32+x52<=1;

x23+x63<=1;

x14+x24+x44+x54<=1;

x25+x35+x55+x65<=1;

购买限制:每个投标人最多只能购买其中一个组合包。

x11+x12+x14=3*y1;

x23+x24+x25=3*y2;

x32+x35=2*y3;

x41+x44=2*y4;

x52+x54+x55=3*y5;

x63+x65=2*y6;

y1+y2<1;

y3+y4<1;

y5+y6<1

模型求解:

model:

title:土地的拍卖与投资;

max=95*y1+80*y2+60*y3+82*y4+90*y5+71*y6;

每块土地只能买给一个投标人的约束;

x11+x41<1;

x12+x32+x52<1;

x23+x63<1;

x14+x24+x44+x54<1;

x25+x35+x55+x65<1;

每个投标人最多只能购买其中一个组合包的约束;

x11+x12+x14=3*y1;

x23+x24+x25=3*y2;

x32+x35=2*y3;

x41+x44=2*y4;

x52+x54+x55=3*y5;

x63+x65=2*y6;

y1+y2<1;

y3+y4<1;

y5+y6<1;

0-1变量限制;

bin(x11);@bin(x12);@bin(x14);@bin(x23);@bin(x24);@bin(x25);@bin(x32);@bin(x35);@bin(x41);@bin(x44);@bin(x52);@bin(x54);@bin(x55);@bin(x63);@bin(x65);@bin(y1);@bin(y2);@bin(y3);@bin(y4);@bin(y5);@bin(y6);end

模型建立:用y(ad)表示道路ad上的总的流量,进一步分解成三部分:

道路ad上的流量不超过2时的流量,用x(2,ab)表示,流量超过2但不超过3时,超过2的流量部分用x(3,ab)表示,流量超过3但不超过4时,超过3的流量部分用x(4,ab)表示。 依次类推,对道路ad,ac,bc,bd,cd 上同理可以定义类似的决策变量。因此,问题中共有20个决策变量y(j)和x(i,j) (i=2,3,4;j=ad,ac,bc,bd,cd)

t(i,j)关于i是单调增加的,即不断增加的车流只会使以前的堵塞加剧而不可能使以前的堵塞减缓。故关于决策变量x(i,j)而言,与希望优化的目标的单调性一致。

问题的目标应当使总的堵塞时间最小,用t(i,j)表示流量x(i,j)对应的堵塞时间(即表6-12中的数据,是对每辆车而言的) ,我们用作为总的堵塞时间,虽然并不是真正意义上的总堵塞时间,但我们可以发现t(i,j)关于i是单调增加的,即不断增加的车流只会使以前的堵塞加剧而不可能使以前的堵塞减缓。故关于决策变量x(i,j)而言,与希望优化的目标的单调性一致,因此可以用作为目标函数进行优化。

约束条件有三类:

1)每条道路上的总流量y等于该道路上的分流量x的和。

2)道路交汇处a、b、c、d(称为节点)的流量守恒(即流入量等于流出量)

3)决策变量的上限限制,如 x(2,ad)≤2,x(3,ad)≤1,x(4,ad)≤1等。

模型求解:model:

title 交通流均衡;

sets:road/ad,ac,bc,bd,cd/:y;

car/2,3,4/;

link(car,road): t, x;

endsets

data:

行驶时间(分钟) ;

t=21,50,17,40,12

enddata

obj] min=@sum(link: t*x); 目标函数;

四个节点的流量守恒条件;

node_a] y(@index(ac))+y(@index(ad)) 3;

node_b] y(@index(bc))+y(@index(bd)) 2;

node_c] y(@index(bc))+y(@index(ac))+1=y(@index(cd));

node_d] y(@index(ad))+y(@index(cd))+y(@index(bd))=6;

每条道路上的总流量y等于该道路上的分流量x的和;

for( road(i):

[road_lim] @sum(car(j): x(j,i)) y(i) )

每条道路的分流量x的上下界设定;

for(link(i,j)|i#eq#1: @bnd(0,x(i,j),2) )

for(link(i,j)|i#gt#1: @bnd(0,x(i,j),1) )

end使运行时间最短的交通流分配方式,可用以下程序求得:

model:

title 交通流均衡;

sets:road/ad,ac,bc,bd,cd/:y;

car/2,3,4/;

link(car,road): t, x;

endsets

data:

增加的总行驶时间(千辆车*分钟) ;

t= 21 50 17 40 12

enddata

obj] min=@sum(link: t*x); 目标函数;

四个节点的流量守恒条件;

node_a] y(@index(ac))+y(@index(ad)) 3;

node_b] y(@index(bc))+y(@index(bd)) 2;

node_c] y(@index(bc))+y(@index(ac))+1=y(@index(cd));

node_d] y(@index(ad))+y(@index(cd))+y(@index(bd))=6;

每条道路上的总流量y等于该道路上的分流量x的和;

for( road(i):

[road_lim] @sum(car(j): x(j,i)) y(i) )

每条道路的分流量x的上下界设定;

for(link(i,j)|i#eq#1: @bnd(0,x(i,j),2) )

for(link(i,j)|i#gt#1: @bnd(0,x(i,j),1) )end

简单的数学建模

数学建模。最。优。化。问。题。最优化问题。摘要 自从1946年世界上第一台电子数字计算机诞生以来,计算机技术便以一种势不可挡的速度开始发展,与之伴随的是数学的广泛应用,不仅在工程技术 自然科学等等领域,数学的应用发挥着无与伦比的重要作用,并且在广度和深度上还渗透到了新的领域中,如医学 地质 交通灯 ...

简单的数学建模题目

数学模型及数学软件 上机报告。专业 班级 姓名 学号 地点及机位编号 日期时间 5月26日。一 上机训练题目或内容。报童每天清晨从报社购进报纸零售,晚上将没有卖完的报纸退回。设每份报纸的购进价为,零售价为,退回价为,应该自然地假设。这就是说,报童售出一份报纸赚,退回一份报纸赔。报童如果每天购进的报纸...

简单的数学建模题目

数学模型及数学软件 上机报告。专业班级姓名学号 地点及机位编号日期时间 5月26日。一 上机训练题目或内容。报童每天清晨从报社购进报纸零售,晚上将没有卖完的报纸退回。设每份报纸的购进价为,零售价为,退回价为,应该自然地假设。这就是说,报童售出一份报纸赚,退回一份报纸赔。报童如果每天购进的报纸太少,不...