Lingo求解线性规划案例3——混料问题
凯鲁嘎吉 - 博客园
http://www.cnblogs.com/kailugaji/
某糖果厂用原料A、B和C按不向比率混合加工而成甲、乙、丙三种糖果(假设混合加工中不损耗原料)。原料A、B、C在糖果甲、乙、丙中的含量、原料成本、加工成本、原料限量及糖果售价如表所示。
问该厂对这三种糖果各生产多少公斤,使得到的利润最大?
|
含量(%) |
j号糖果 |
原料供应量 ai(公斤) |
成本(元/公斤) |
|||
|
甲(1号) |
乙(2号) |
丙(3号) |
||||
|
i号原料 |
A(1号)
|
≥60%
|
≥15%
|
|
2000
|
2.50
|
|
B(2号)
|
|
|
|
2500
|
2.00
|
|
|
C(3号)
|
≤20%
|
≤60%
|
≤70%
|
2200
|
1.70
|
|
|
加工成本(元/公斤)
|
2.00
|
1.80
|
1.60
|
|
|
|
|
售价(元/公斤)
|
12
|
10
|
8
|
|
||
解:设i号原料在j号糖果中的用量为xij公斤。
显然,j号糖果的产量为x1j+x2j+x3j
根据原料供应量情况,有约束条件
xi1+xi2+xi3≤ai i=1,2,3。
根据各种原料在各类糖果中的含量要求,有约束条件:
x11≥0.6(x11+x2l+x31)
x3l≤0.2(xll+x2l+x31)
x12≥0.15(x12+x12+x32)
x32≤0.6(x12+x22+x32)
x33≤0.7(x13+x23+x33)
又知原料成本为
糖果加工成本为
糖果出售收入为
经过整理,本问题的线性规划模型为
max=10*(x11+x21+x31)+8.2*(x12+x22+x32)+6.4*(x13+x23+x33)-2.5*(x11+x12+x13)-2*(x21+x22+x23)-1.7*(x31+x32+x33);
x11>0.6*(x11+x21+x31);
x12>0.15*(x12+x22+x32);
x31<0.2*(x21+x31+x11);
x32<0.6*(x12+x22+x32);
x33<0.7*(x13+x23+x33);
x11+x12+x13<2000;
x21+x22+x23<2500;
x31+x32+x33<2200;
y1=x11+x21+x31;
y2=x12+x22+x32;
y3=x13+x23+x33;
end
结果为:
Global optimal solution found.
Objective value: 45180.00
Infeasibilities: 0.000000
Total solver iterations: 5 Variable Value Reduced Cost
X11 1326.667 0.000000
X21 442.2222 0.000000
X31 442.2222 0.000000
X12 673.3333 0.000000
X22 2057.778 0.000000
X32 1757.778 0.000000
X13 0.000000 5.200000
X23 0.000000 1.200000
X33 0.000000 1.200000
Y1 2211.111 0.000000
Y2 4488.889 0.000000
Y3 0.000000 0.000000 Row Slack or Surplus Dual Price
1 45180.00 1.000000
2 0.000000 -4.000000
3 0.000000 -4.000000
4 0.000000 0.000000
5 935.5556 0.000000
6 0.000000 0.000000
7 0.000000 9.100000
8 0.000000 5.600000
9 0.000000 5.900000
10 0.000000 0.000000
11 0.000000 0.000000
12 0.000000 0.000000
Lingo求解线性规划案例3——混料问题的更多相关文章
- Lingo求解线性规划案例4——下料问题
凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 造纸厂接到定单,所需卷纸的宽度和长度如表 卷纸的宽度 长度 5 7 9 10000 30000 20000 工 ...
- Lingo求解线性规划案例1——生产计划问题
凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 说明: Lingo版本: 某工厂明年根据合同,每个季度末 ...
- Lingo求解线性规划案例2——多阶段投资问题
凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 某公司现有资金30万元可用于投资,5年内有下列方案可供采纳: 1号方案:在年初投资1元,2年后可收回1. ...
- 用Lingo求解线性规划问题
第一步:输入目标条件和约束条件.每行以分号隔开.然后点击工具栏上的Solve按钮,或Lingo菜单下的Solve子菜单. 第二步:检查report中的结果. 默认情况下,Lingo不进行灵敏度分析. ...
- 图论中最优树问题的LINGO求解
树:连通且不含圈的无向图称为树.常用T表示.树中的边称为树枝,树中度为1的顶点称为树叶. 生成树:若T是包含图G的全部顶点的子图,它又是树,则称T是G的生成树. 最小生成树:设T=(V,E1)是赋权图 ...
- matlab学习笔记之求解线性规划问题和二次型问题
一.线性规划问题 已知目标函数和约束条件均为线性函数,求目标函数的最小值(最优值)问题. 1.求解方式:用linprog函数求解 2.linprog函数使用形式: x=linprog(f,A,b) ...
- matlab 求解线性规划问题
线性规划 LP(Linear programming,线性规划)是一种优化方法,在优化问题中目标函数和约束函数均为向量变量的线性函数,LP问题可描述为: minf(x):待最小化的目标函数(如果问题本 ...
- Python求解线性规划——PuLP使用教程
简洁是智慧的灵魂,冗长是肤浅的藻饰.--莎士比亚<哈姆雷特> 1 PuLP 库的安装 如果您使用的是 Anaconda[1] 的话(事实上我也更推荐这样做),需要先激活你想要安装的虚拟环境 ...
- 单纯形求解线性规划(BZOJ1061)
推荐一篇论文:http://wenku.baidu.com/view/ce5784754a7302768f99391d 我们设xi为第i个志愿者的招募次数,以样例为例,则不难列出如下的线性规划方程: ...
随机推荐
- 分布式系统监视zabbix讲解六之自定义监控项--技术流ken
宏 概述 Zabbix支持许多在多种情况下使用宏.宏是一个变量,由如下特殊语法标识: {MACRO} 根据在上下文中, 宏解析为一个特殊的值. 有效地使用宏可以节省时间,并使Zabbix变地更加高效. ...
- 隐马尔可夫模型(HMM)及Viterbi算法
HMM简介 对于算法爱好者来说,隐马尔可夫模型的大名那是如雷贯耳.那么,这个模型到底长什么样?具体的原理又是什么呢?有什么具体的应用场景呢?本文将会解答这些疑惑. 本文将通过具体形象的例子来引 ...
- SQL去除数据库表中tab、空格、回车符等特殊字符的解决方法
按照ASCII码, SELECT char(64) 例如64 对应 @,则 ), 'kk'); 则结果为 abckkqq.com 依此类推, 去掉其他特殊符号,参考ASCII码对照表, 去掉tab符号 ...
- mysql写注释的几种方法
MySQL的注释风格总的来说有三种.它们分别是 1.单行注释可以用"#" select 1 as cname; #this is a comment +-------+ | cna ...
- IDEA设置显示中文文档API方法说明
首先,我们从网上下载好对应的java最新的中文api文档,chm格式的 chm其实相当于一个压缩包,里面有许多html文件 让IDEA显示中文文档,其实原理就是是让IDEA把java的api的对应ht ...
- Elasticsearch系列(2):安装Elasticsearch(Linux环境)
系统环境 操作系统:CentOS 6.9 Elasticsearch:6.2.2 Filebeat:6.2.2(收集IIS日志) Kibana:6.2.2 Java:Java 8 注意:elk最好选择 ...
- Ext中defaults与fieldDefaults
不同点:defaults :直接子组件中的默认配置fieldDefaults: 后代组件中的默认配置 相同点:组件自己的配置中指定的值优先
- 详解bootstrap-fileinput文件上传控件的亲身实践
经理让我帮服务器开发人员开发一个上传文件功能界面,我就想着以前使用过bootstrap-fileinput插件进行文件上传,很不错.赶紧就撸起来了. 1.下载压缩包.插件地址https://githu ...
- JS apply的巧妙用法以及扩展到Object.defineProperty的使用
Math.max 实现得到数组中最大的一项 var array = [1,2,3,4,5]; var max = Math.max.apply(null, array); console.log(ma ...
- touch.js 拖动、缩放、旋转 (鼠标手势)
可以实现手势操作:拖动.缩放.旋转.封装好的脚本方法是这样的: var cat = window.cat || {}; cat.touchjs = { left: 0, top: 0, scaleVa ...