数模+lingo
来源:互联网 发布:python编程培训 编辑:程序博客网 时间:2024/05/01 00:39
数模竟然没有用MATLAB。。。因为小组里三个人都不会用。还好我们选的题目是线性最优化问题,用相对简单的LINGO就可以解决了。
题目:
请为物流公司安排以下五次运输,制定详细计划,含所需要各种类型轿运车的数量、每辆轿运车的乘用车装载方案、行车路线。(前三问目的地只有一个,可提供一个通用程序;后两问也要给出启发式算法的程序,优化模型则更佳):
1. 物流公司要运输Ⅰ车型的乘用车100辆及Ⅱ车型的乘用车68辆。
2. 物流公司要运输Ⅱ车型的乘用车72辆及Ⅲ车型的乘用车52辆。
3. 物流公司要运输Ⅰ车型的乘用车156辆、Ⅱ车型的乘用车102辆及Ⅲ车型的乘用车39辆。
4. 物流公司要运输166辆Ⅰ车型的乘用车(其中目的地是A、B、C、D的
分别为42、50、33、41辆)和78辆Ⅱ车型的乘用车(其中目的地是A、C的,分别为31、47辆),具体路线见图4,各段长度:OD=160,DC=76,DA=200,DB=120,BE=104,AE=60。
5. 附件的表1给出了物流公司需要运输的乘用车类型(含序号)、尺寸大小、数量和目的地,附件的表2给出可以调用的轿运车类型(含序号)、数量和装载区域大小(表里数据是下层装载区域的长和宽, 1-1型及2-2型轿运车上、下层装载区域相同;1-2型轿运车上、下层装载区域长度相同,但上层比下层宽0.8米。此外2-2型轿运车因为层高较低,上、下层均不能装载高度超过1.7米的乘用车。
因为第五问的装载、运输方案太多,提醒研究生,再找最优解是不切实际的,可以改用启发式算法,就是类似有经验的调度人员的思想去安排任务,简化目标函数为容易求解,并且得到原来问题可能比较好的解。为此目标的简化一定要做到具体问题具体分析,洞察问题的主要矛盾或关键。一定要开阔思路,大胆创新。其实一般情况可行解容易获得,不断设法改进可行解也是常用方法。最后自行设计运输方案的表达。采取的方法是枚举法。
主要使用java算出所以可能的方案,lingo软件来计算,用lingo的语法简化了输入的语句,要知道我们的变量有47个。。。
model:
sets:
s1/1..47/:x;
s2/1..3/:b;
s12(s1,s2):a;
endsets
data:
!数据自己写;
!b=100,68,0;
b=0,72,52;
!b=42,31,0;
!b=156,102,39;
a=@file('number.txt');
enddata
min=@sum(s1(i)|i#ge#16#and#i#le#20:x(i))+1.1*@sum(s1(i)|i#ge#42#and#i#le#47:x(i));
@for(s2(j):@sum(s1(i):x(i)*a(i,j))>=b(j));
@sum(s1(i)|i#le#15:x(i))=@sum(s1(i)|i#ge#16#and#i#le#20:x(i));
@sum(s1(i)|i#ge#21#and#i#le#41:x(i))=@sum(s1(i)|i#ge#42:x(i));
@sum(s1(i)|i#ge#16#and#i#le#20:x(i))>=5*@sum(s1(i)|i#ge#42:x(i));
@for(s1:@gin(x));
end
- 数模+lingo
- Lingo学习心得&2014年研究生数模竞赛E题
- Lingo
- 05年数模B题DVD在线租赁的LINGO程序
- 数模
- 数模
- Lingo函数
- Lingo基础知识
- lingo学习
- lingo使用
- Lingo函数
- Lingo数据
- lingo入门教程之一 --- 初识lingo
- 数模网站
- 数模文献
- 数模问题
- 关于数模
- 数模随想
- javascript中错误使用var造成undefined
- 升级_开阔视野之Oracle图形化升级(升级后dbca建库)—10.2.0.1.0升为10.2.0.5.0
- maven下面怎么使用lib下的Jar包
- PHP实例解析:实现给上传图片加水印图案
- android中的系统广播
- 数模+lingo
- MINI2440启动配置文件/etc/init.d/rcS文件分析
- shell判断文件,目录是否存在或者具有权限
- Android: 在onCreate()中获得对象尺寸
- 在linux下安装mysql服务
- hdu 1078 搜索
- 树莓派Shell脚本文件
- FFMPEG教程1_解码后保存图片(使用2014年新SDK重新整理编译通过)
- adb 不是内部或外部命令