没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
优化应用
线性规划模型
一、线性规划课题:
实例 :生产计划问题
假设某厂计划生产甲、乙两种产品,现库存主要材料有 A 类 3600 公斤,B 类 2000 公斤,C 类 3000 公
斤。每件甲产品需用材料 A 类 9 公斤,B 类 4 公斤,C 类 3 公斤。每件乙产品,需用材料 A 类 4 公斤,B
类 5 公斤,C 类 10 公斤。甲单位产品的利润 70 元,乙单位产品的利润 120 元。问如何安排生产,才能
使该厂所获的利润最大。
建立数学模型:
设 x
1
、x
2
分别为生产甲、乙产品的件数。f 为该厂所获总润。
max f=70x
1
+120x
2
s.t 9x
1
+4x
2
≤3600
4x
1
+5x
2
≤2000
3x
1
+10x
2
≤3000
x
1
,x
2
≥0
实例 :投资问题
某公司有一批资金用于 4 个工程项目的投资,其投资各项目时所得的净收益(投入资金锪百分比)如下表:
工程项目收益表
工程项目
A B C D
收益(%)
15 10 8 12
由于某种原因,决定用于项目 A 的投资不大于其他各项投资之和而用于项目 B 和 C 的投资要大于项目 D
的投资。试确定全文该公司收益最大的投资分配方案。
建立数学模型:
设 x
1
、
x
2
、
x
3
、
x
4
分别代表用于项目 A、B、C、D 的投资百分数。
max f=0.15x
1
+0.1x
2
+0.08 x
3
+0.12 x
4
s.t x
1
-x
2
- x
3
- x
4
≤0
x
2
+ x
3
- x
4
≥0
x
1
+x
2
+x
3
+ x
4
=1
x
j
≥0 j=1,2,3,4
实例 :运输问题
有 A、B、C 三个食品加工厂,负责供给甲、乙、丙、丁四个市场。三个厂每天生产食品箱数上限如下表:
工厂
A B C
生产数
60 40 50
四个市场每天的需求量如下表:
市场 甲 乙 丙 丁
需求量
20 35 33 34
从各厂运到各市场的运输费(元/每箱)由下表给出:
发点 市 场
收
点
甲 乙 丙 丁
工
厂
A 2 1 3 2
B 1 3 2 1
C 3 4 1 1
求在基本满足供需平衡的约束条件下使总运输费用最小。
建立数学模型:
设 a
i j
为由工厂 i 运到市场 j 的费用,x
i j
是由工厂 i 运到市场 j 的箱数。b
i
是工厂 i 的产量,d
j
是市场 j 的需
求量。
b= ( 60 40 50 ) d= ( 20 35 33 34 )
s.t
x
i j
≥0
当我们用 软件作优化问题时,所有求 的问题化为求 来作。约束
,
化为
来作。
上述实例去掉实际背景,归结出规划问题:目标函数和约束条件都是变量 x 的线性函数。
形如: (1) min f
T
X
s.t AX≤b
Aeq X =beq
lb≤X≤ub
其中 为 维未知向量,
为目标函数系数向量,小于等于约束系数矩阵 A 为 m×n 矩
阵, 为其右端 维列向量, 为等式约束系数矩阵, 为等式约束右端常数列向量。!" 为自
变量取值上界与下界约束的 维常数向量。
二.线性规划问题求最优解函数:
######调用格式: x=linprog(f,A,b)
x=linprog(f,A,b,Aeq,beq)
x=linprog(f,A,b,Aeq,beq,lb,ub)
x=linprog(f,A,b,Aeq,beq,lb,ub,x0)
x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)
[x,fval]=linprog(…)
[x, fval, exitflag]=linprog(…)
[x, fval, exitflag, output]=linprog(…)
[x, fval, exitflag, output, lambda]=linprog(…)
说明:x=linprog(f,A,b)返回值 x 为最优解向量。 ?
x=linprog(f,A,b,Aeq,beq) 作有等式约束的问题。若没有不等式约束,则
令 A=[ ]、b=[ ] 。
x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options) 中 lb ,ub 为变量 x 的下界和上界,
x0 为初值点,options 为指定优化参数进行最小化。
Options 的参数描述:
Display 显示水平。选择’off’不显示输出;选择’iter’显示每一步迭代过程的输
出;选择’final’显示最终结果。
MaxFunEvals 函数评价的最大允许次数
Maxiter 最大允许迭代次数
TolX x 处的终止容限
[x,fval]=linprog(…) 左端 fval 返回解 x 处的目标函数值。
[x,fval,exitflag,output,lambda]=linprog(f,A,b, Aeq,beq,lb,ub,x0)的输出部分:
exitflag 描述函数计算的退出条件:若为正值,表示目标函数收敛于解 x 处;若
为负值,表示目标函数不收敛;若为零值,表示已经达到函数评价或迭代的最
大次数。
output 返回优化信息:output.iterations 表示迭代次数;output.algorithm 表
示所采用的算法;outprt.funcCount 表示函数评价次数。
lambda 返回 x 处的拉格朗日乘子。它有以下属性:
lambda.lower-lambda 的下界;
lambda.upper-lambda 的上界;
lambda.ineqlin-lambda 的线性不等式;
lambda.eqlin-lambda 的线性等式。
三.举例
例 :求解线性规划问题:
max f=2x
1
+5x
2
s.t
先将目标函数转化成最小值问题:min(-f)=- 2x
1
-5x
2
程序:
$%
%%%
&%%'%
(!!)*+
(!,
结果: x = 2
3
fval = -19.0000
maxf = 19
例 :minf=5x
1
-x
2
+2x
3
+3x
4
-8x
5
s.t -2x
1
+x
2
-x
3
+x
4
-3x
5
≤6
2x
1
+x
2
-x
3
+4x
4
+x
5
≤7
0≤x
j
≤15 j=1,2,3,4,5
程序:
$'%
%&%
-%.%
!%
"$$$$$%
(!!)*+!"
结果:x =
0.0000
0.0000
8.0000
0.0000
15.0000
minf = -104
例 :求解线性规划问题:
minf=5x
1
+x
2
+2x
3
+3x
4
+x
5
s.t -2x
1
+x
2
-x
3
+x
4
-3x
5
≤1
2x
1
+3x
2
-x
3
+2x
4
+x
5
≤-2
0≤x
j
≤1 j=1,2,3,4,5
程序:
######$%
######%%
######%%
######!%
######"%
######(!/0+"/)"/!1!)*+!"##########################运行
结果:
Exiting: One or more of the residuals, duality gap, or total relative error
剩余19页未读,继续阅读
资源评论
- LGJxj13142014-05-27这个还不错,有用。。。
snaketwin
- 粉丝: 1
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 高等数学第一章第二节数列的极限
- Python 版冒泡排序算法源代码
- tensorflow-gpu-2.7.2-cp38-cp38-manylinux2010-x86-64.whl
- tensorflow-2.7.3-cp39-cp39-manylinux2010-x86-64.whl
- tensorflow-2.7.2-cp39-cp39-manylinux2010-x86-64.whl
- Python版本快速排序源代码
- Python 语言版的快速排序算法实现
- 450815388207377安卓_base.apk
- 超微主板 X9DRE-TF+ bios 支持 nvme启动
- 基于Python通过下载气象数据和插值拟合离散数据曲线实现对寒潮过程的能量分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功