资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
实践类型题目 1. 背包问题。从LINGO/MATLAB两种软件里面任选一种软件求解该背包问题?写出源程序,并以截图的方式给出求解结果。源代码:model:sets:items/item1.item3/:include,weight,rating;endsetsdata:weight rating=344556;knapsack_capacity=10;enddatamax=sum(items:rating*include);sum(items:weight*include)=0; x2=0; x3=0;d1_=0; d1=0;d2_=0; d2=0;d3_=0; d3=0;d4_=0; d4=0;d5_=0; d5=0;d6_=0; d6=0;gin(x1); gin(x2);gin(x3);P1=1000; P2=100; P3=10;END实验结果:3. 从LINGO/MATLAB两种软件里面任选一种软件,求下表所示效率矩阵的指派问题的最小解。写出源程序,并以截图的方式给出求解结果。 任务人员ABCDE甲759811乙9127119丙85469丁73696戊467511源代码:model:!5人指派问题;sets: Flight/1.5/; Assign(Flight,Flight):c,x;endsets!Here is income matrix;data: c= 7 59811 9 127119 8 5469 7 3696 4 67511;enddata!Maximize value of assignments;min=sum(Assign: c*x);for(Flight(i): !Each i must be assigned to some j;sum(Flight(j): x(i,j)=1;!Each i must receive an assignment;sum(Flight(j): x(j,i)=1;);end实验结果:4. 资源平行分配问题。某工业部门按国家计划的安排,拟将某高效率的设备五台,分配给所属的甲、乙、丙三个工厂,各工厂若获得这种设备之后,可以为国家提供的盈利如下表所示。问:这五台设备如何分配给各工厂,才能使国家得到的盈利最大。从LINGO/MATLAB两种软件里面任选一种软件求解该动态规划问题?写出源程序,并以截图的方式给出求解结果。 工厂设备台数甲乙丙000013542710639111141211125131112源代码:model:sets:!用户;user/1.3/;!设备量;amout/1.6/;!分配方案;arcs(amout,user):benefit,status,selection;endsetsdata:!效益;benefit= 000354710691111121112131112;!特定分配量;status= 000111222333444555;enddatamax=sum(arcs(i,j):benefit(i,j)*selection(i,j);for(arcs:bin(selection);for(user(j):sum(arcs(k,j):selection(k,j)=1);sum(arcs(i,j):status(i,j)*selection(i,j)=5;end实验结果:5. 从LINGO/MATLAB两种软件里面任选一种软件求解下面最小费用最大流问题。写出源程序,并以截图的方式给出求解结果。源代码:model: !最小费用最大流问题的子模型形式; sets: nodes/vs,v1,v2,v3,vt/; !定义端点代号; arcs(nodes,nodes)/vs v2,vs v1,v2 v1,v2 v3,v1 v3,v1 vt,v3 vt/:b,c,f; !定义弧代号; Endsets data: b=1 4 2 3 6 1 2; !定义各弧的费用值; c=8 10 5 10 2 7 4; !定义各弧的容量;enddata SUBMODEL maxflow: !最大流的目标函数子模型; max = flow; !求最大流; endsubmodel submodel minfy: !最小费用流的目标函数子模型; min=sum(arcs:b*f); !求最小费用流; endsubmodel submodel con: !约束条件; for(nodes(i)|i #ne# 1 #and# i #ne# size(nodes): sum(arcs(i,j):f(i,j)-sum(arcs(j,i):f(j,i)=0); !中间点是进出相等; sum(arcs(i,j)|i #eq# 1: f(i,j) = flow; !发点是流量; for(arcs:bnd(0,f,c); !流量应小于容量; endsubmodel CALC: !程序段,顺序执行; SOLVE( maxflow,con); !先求最大流,注意加约束条件; flow=flow; !保留flow值,便于第2个程序使用;solve(minfy,con); !再求最大流下的最小费用流; endcalc END实验结果:
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号