运筹学课上的小练习

笔者也是菜鸟一枚,这篇博客记录了我们课上的练习,如有错误请不吝赐教。

文章目录

  • 运筹学课上的小练习
  • 一、求和
  • 二、实际问题
  • 总结

一、求和

题1:
求1+2+3+…100;

!lingo代码:;
sets:set/1..100/:x;
endsets@for(set(i):x(i) = i);
sum = @sum(set(i):x(i));

输出结果:

题2:
求1+2+3+…+98+100;

!lingo代码:;
sets:set/1..98/:x;
endsetsdata:a = 100;
enddata@for(set(i):x(i) = i);
sum = @sum(set(i):x(i));
final_sum = sum + a;

输出结果:

题2:
求1+2+3+…+97+100;
同题2

二、实际问题

题1:
垃圾站问题
在十二个小区里建中转站,以成本最小为原则,看最少需要建几个中转站,以及各个中转站所辐射的小区。各个小区的回收量、投建中转站的固定成本和能提供的最大容量如下表所示。建立模型用lingo进行求解。

分析:
笔者初看此题,一头雾水(太菜了(×_×)),读了几遍题才知道题的意思。
题的意思是:
1.总共有12个小区,每个小区都可以建立垃圾中转站,将一个小区的垃圾运送到有中转站的小区是有运费(表中上部)的。
2.每个小区自身是要产生垃圾的,产生垃圾的量就是表中的“回收量”。
3.建立每个垃圾中转站是是要花钱的,费用就是表中的“固定成本”。
4.每个中转站垃圾的最大容纳量为18。
于是可以建立模型如下:
xi_j 表示 小区i 运送到有中转站的 小区j 的垃圾数量;
cij表示 小区i 运送每单位垃圾到有中转站的 小区j 的运费;
di表示 小区i 建立垃圾中转站的费用;

小区1 小区2 ... 小区12 最大容量
小区1 x1_1 x1_2 ... x1_12 18
小区2 x2_1 x2_2 ... x2_12 18
... ... ... ... ...
小区12 x12_1 x12_2 ... x12_12 18
回收量 4 6 ... 2

可建立以下约束:

x1_1 + x2_1 + ...+ x12_1 = 4——方程1
:
x1_12 + x2_12 + ... + x12_12 = 2——方程12
x1_1 + x1_2 + ... + x1_12 <= 18——不等式1
:
x12_1 + x12_2 + ...+ x12_12 <= 18——不等式12
yi = 1(表示建立中转站)/0(表示不建立中转站)——方程13
xij >= 0, yi = 0或1

上述的数据较大,建议保存到excel文件里。
笔者保存的excel如下图:

(需要该excel表的请私信)
总共费用 = 总运费 + 固定费用;
min = ΣΣcijxij + Σyidi;

更多内容请关注GongZhongHao:“讲不完故事的故事君”

!lingo代码:;
!a为容量,b为回收量,c为运费,gdcb为固定成本;
model:sets:hb/1..12/:a,y,gdcb;lb/1..12/:b;hlb(hb, lb):c,x;endsetsdata:a = @OLE( 'laji.xls','rongliang');b = @OLE( 'laji.xls', 'huishouliang');c = @OLE( 'laji.xls', 'yunjia');gdcb = @OLE( 'laji.xls', 'gudingchengben');@OLE('laji.xls', 'jie') = x;enddata@for(hb(i):@sum(lb(j):x(i,j)) <= a(i)*y(i)); !方程1~~方程12;@for(lb(j):@sum(hb(i):x(i,j)) = b(j));       !不等式1~~不等式12;@for(hb:@bin(y));                       !方程13;min = @sum(hlb:c*x) + @sum(hb:y*gdcb);
end
!注意:笔者lingo的版本是17.0,无法读取后缀名为.xlsx文件,可以读取.xls文件;

运行结果如下:

总结

1.定义集:
sets:set/1..n/:x;
endsets
2.定义数据:
data:a = n;
enddata
3.分别赋值:
即x1 = 1, x2 = 2, ...,xn = n;
@for(set(i):x(i) = i);
4.求和Σ
即sum = x1 + x2 + ...+ xn;
sum = @sum(set(i):x(i));
5.数据相加
a = b + c;

后续内容请关注CSDN本专栏

运筹学上的lingo小练习——秒懂相关推荐

  1. SAP MM 采购发票上的金额小差异

    SAP MM 采购发票上的金额小差异 对于标准价作为价格控制的商品,如果发票的价格与采购订单价格不同,则SAP系统会将差异计入OBYC-DIF配置的总账科目里. 1, 公司代码0001发票金额小差异的 ...

  2. Python 抖音机器人,论如何在抖音上找到漂亮小姐姐?

    如何在抖音上找到漂亮小姐姐----抖音机器人 最近沉迷于抖音无法自拔,常常花好几个小时在抖音漂亮小姐姐身上. 为了高效.直接地找到漂亮小姐姐,我用 Python + ADB 做了一个 Python 抖 ...

  3. python抖音github_GitHub - eternal-flame-AD/Douyin-Bot: Python 抖音机器人,论如何在抖音上找到漂亮小姐姐?...

    如何在抖音上找到漂亮小姐姐----抖音机器人 最近沉迷于抖音无法自拔,常常花好几个小时在抖音漂亮小姐姐身上. 为了高效.直接地找到漂亮小姐姐,我用 Python + ADB 做了一个 Python 抖 ...

  4. 在markdown (csdn)博客上输出 右下小标,右上小标。

    在markdown (csdn)博客上输出 右下小标,右上小标. 输入: x<sup>2</sup> 输出: x2 输入: x<sub>2</sub> ...

  5. 【QA】数学符号 word输入问题 在word里面怎么输入字母头顶上的那个小尖儿

    Question 在word里面怎么输入字母头顶上的那个小尖儿,如: p ^ j \hat{p}_{j} p^​j​1 Answer WPS中word: possibility answer 1 点击 ...

  6. Python爬虫利用18行代码爬取虎牙上百张小姐姐图片

    Python爬虫利用18行代码爬取虎牙上百张小姐姐图片 下面开始上代码 需要用到的库 import request #页面请求 import time #用于时间延迟 import re #正则表达式 ...

  7. 程序员宅男干货福利!手把手教你获取上千张cosplay小姐姐的美照

    最近的一段时间里,小编喜欢上了CosPlay的展出,小姐姐们的CosPlay展真的是让我很是欣赏,于是,我回到家里就从网上来看展出,但是一个个网页查看太过繁琐-- 既然是玩Python,不如写个代码搞 ...

  8. android上调试H5小工具

    由于android上,部分网页报错,网页直接调试是看不到的或者显示不够具体,此app方便H5开发人员,查看具体错误打印.并未做到分步调试. 而部分类似格式错误,IOS上,由于本身的严谨性可能会反而不报 ...

  9. 德语键盘在标准ASCII键盘上使用的小窍门/ 德语键盘英语输入法输出波浪线~

    德语键盘在标准ASCII键盘上使用的小窍门 @的输入:看到上图德语键盘里的Alt Gr键了吧,这个键叫做AltGraphic-Taste,是专门用来输入德语键盘里某些键的第三个字符的,在标准ASCII ...

最新文章

  1. 2018 react 大会_React Conf 2018的经验教训
  2. 最新的20多个JMS面试问答(2020)
  3. matlab的词云,Word Cloud (词云) - JavaScript
  4. Hbase问题汇总与解答
  5. mysql profile使用(转)
  6. 判断一个整数是否是回文数
  7. linux 7 %3e命令,Linux操作系统常用基础命令
  8. 还在为生产环境中用什么样的 Kubernetes 架构困惑吗,或许看完这篇你的问题就迎刃而解了!...
  9. 你可能不知道的CSS3属性: object-fit,object-position的妙用
  10. windows7 纯净版各个版本下载
  11. 修改pip默认安装位置
  12. 随机生成姓名,姓名生成器
  13. 利用openFrameWork、ofxFaceTrack制作的虚拟眼镜加载系统
  14. 计算机主机内有哪些硬件,电脑主机内部有哪些硬件
  15. 海量数据预处理实战----CSS网页样式
  16. VS2015:libcurl静态编译
  17. Adobe产品adobe ID登录卡死问题的解决
  18. 索尼在线商城的产品会不会更便宜?
  19. CSS实现a标签去掉下划线以及点击不再有颜色变化
  20. 有限体积法(10)——格式精度与待定系数法

热门文章

  1. 码出未来:我与计算机的爱恨情仇
  2. dsp28335杂记1
  3. 图说当下——人生感悟
  4. python 战舰_Python战舰:获取用户输入的他们想要多少艘战舰
  5. 海岛奇兵服务器维护中怎么办,海岛奇兵无法更新解决方法介绍
  6. MYSQL中,in、limt、升降序、count的用法
  7. python立方根求解_python 二分查找(立方根)
  8. 编写lisp程序解一元二次方程_vb解一元二次方程代码
  9. 51单片机基础——串口通信字符串控制流水灯
  10. 时序数据库 InfluxDB