MATLAB学习第五节最优化工具箱
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
优化问题:现在有甲,乙两人推销A,B两种货物, 货物单价及利润如下表,问如何销售才能使销售 的总利润最高。
总量 原价
甲
(吨) (每吨) 实际价 利润
格(每吨)
A 10 25
30
5
B 20 39
43
4
乙
实际价格 利润 (每吨)
26
1
50
11
编辑课件ppt
4
数学模型:
设甲卖A和B分别为x1和x2吨,乙分别卖x3和x4吨。
LB=[0 0 0 0];
A= [ 1 1 3 -1;2 3 -1 1; 1 0 2 1];
调用语句为:
[x,fval,exitflag] = linprog(f,A,b,Aeq,beq,LB)
x =[ 0.0000 0.0000 2.0000 0.0000]’
fval = -6.0000
fval = -6.0000
exitflag = 1
编辑课件ppt
10
习题:
m x i n5x14x26x3 s.t. x1 x2 x3 20
3x1 2x2 4x3 42
3x1 2x2 30
x1, x2 , x3 1
1、对上式解出最优解,最优值,并判断此最优解和最优
值是否能被信任。
编辑课件ppt
11
习题答案:
1、 f = [ -5 -4 -6]’;
A= [ 1 -1 3; 3 2 4; 3 2 0];
b=[20;42;30];
LB=[1 1 1];
[x,fval,exitflag] = linprog(f,A,b,[ ],[ ],LB)
f = [ -5 -4 -1 -11]’;
第五节 最优化工具箱
5.1 最优化工具箱概述 5.2 主要构成函数 5.3 MATLAB帮助系统
编辑课件ppt
1
5.1 最优化工具箱概述
最优化工具箱是用于解决最优化问题的一种工具箱,对于 当前使用的各种最优化策略问题,都可以得到一个较为合 理的解。
在实际应用中,大部分的问题都得不到一个准确的解,但 可以得到一定条件下的最优解,来代替准确解应用。
编辑课件ppt
8
m x i n x12x2 3 x34x4
举例1:
s.t. x1 x2 3 x3 x4 6
2 x1 3 x2 x3 x4 12
则:f = [ -1 2 -3 4]’;
b=[6;12;4];
Aeq=[ 1 1 1 1];
beq=[2];
பைடு நூலகம்
x1 2 x3 x4 4 x1 x2 x3 x4 2 x1 , x2 , x3 , x4 0
编辑课件ppt
7
函数调用格式 (输出参数)
1、最简形式,只有最优解x*输出 x=linprog(f,A,b) 2、添加最优值 fval 输出 ( fval = fTx*) [x,fval]=linprog(f,A,b) 3、添加退出参数输出 exitflag [x,fval,exitflag]=linprog(f,A,b) exitflag>0 存在并收敛到最优解 exitflag=0 达到最大迭代次数未收敛 exitflag<0 没有最优解或算法失败
m ax
x1,x2,x3,x4
5x14x2x311x4
s.t. x1 x3 10
x2 x4 20
x1, x2, x3, x4 0
编辑课件ppt
5
线性规划 linprog
线性规划问题:目标函数和 约束函数都是线性函数。
求解问题应化为标准形式: 其中:f 为系数向量,x 为变量 A为不等式约束系数矩阵 b 为不等式约束值 Aeq为等式约束系数矩阵 beq为等式约束值 LB 为最优解的下限 UB 为最优解的上限
最优化工具箱查看方式:
1、在命令窗口中输入 :help optima 2、选择help菜单项 MATLAB help 项
打开MATLAB 帮助 找到 Optimization Toolbox (最优化工具箱)
编辑课件ppt
2
5.2 主要函数
linprog
线性规划
quadprog
二次规划
fminunc
exitflag = 1
编辑课件ppt
9
举例2:
则:f = [ -1 2 -3 4]’;
b=[6;12;4];
LB=[0 0 0 0];
m x i n x12x2 3 x34x4 s.t. x1 x2 3x3 x4 6
2x1 3x2 x3 x4 12 x1 2x3 x4 4 x1, x2, x3, x4 0
min f T x x
s.t. Ax b
Aeqx beq
LBxUB
f1
f
f
2
fn
x1
x
x
2
xn
编辑课件ppt
6
函数调用格式 (输入参数)
1、最简形式:只有不等式约束: x=linprog(f,A,b) 2、又包含了等式约束: x=linprog(f,A,b,Aeq,beq) 3、又包括了解的上下限的约束: x=linprog(f,A,b,Aeq,beq,LB,UB) 4、定义了搜索点初值 x0: x=linprog(f,A,b,Aeq,beq,LB,UB,x0)
A= [ 1 1 3 -1; 2 3 -1 1; 1 0 2 1];
调用语句为:
[x,fval,exitflag] = linprog(f,A,b,[ ],[ ],LB)
当有参数没有值时,相当于其值为空。
即 Aeq = [ ] beq = [ ]。
x =[ 0.0000 0.0000 2.0000 0.0000]’
Aeq = [ 1 0 1 0; 0 1 0 1 ];
beq = [10;20]; LB=[0 0 0 0 ];
[x,fval,exitflag] = linprog(f,[ ],[ ],Aeq,beq,LB)
编辑课件ppt
12
二次规划 quadprog
二次规划问题:目标函数为二次 函数,约束函数是线性函数。
无约束非线性规划
fmincon
约束非线性规划
fminimax
最大最小问题
fminbnd
无约束一元函数极小问题
fseminf
半无穷条件下的非线性规划
fsolve
非线性方程求解
lsqnonlin
非线性最小二乘解
lsqnonneg
非负最小二乘解
fgoalattain
目标规划
编辑课件ppt
3
求解问题应化为标准形式: