Matlab单纯形法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 矩阵的建立 • 在matlab中,用[1 2 3]表示行向量;[1;2;3] 表示列向量;[1 2 3;4 5 6;7 8 9]表示矩阵。 • 矩阵按行输入,元素之间用空格或“,” 隔开,行与行之间用“;”隔开。 • 特殊命令创建矩阵a=[m:q:n],m是起始值;n 是终止值;q是增量。如a=[1:2:13] • 特殊矩阵建立:eye创建一个单位矩阵,如 eye(4);ones创建一个元素全是1的矩阵,如 ones(1,4);zeros创建一个全是0的矩阵,如 zeros(1,4).
• 4.在命令后面输入分号“;”,执行命令后, 命令的输出不显示。 • 5.变量名可以由字母,数字和下划线组成。 特殊变量:ans(计算结果的默认变量名), pi(圆周率),eps(最小数),inf(无穷 大) • 6.由%开始的行是注解,不参加运算。 • 可以用“clc”命令清除命令窗口。
• 编写M文件 • 在matlab的“File”菜单中选择“New”选 项,然后选择“M-file”选项,即可弹出编 辑窗口。 • 编辑窗口时输入,编辑,修改,调试脚本 文件的窗口 • 在编辑窗口中可以返回到前面的命令行进 行修改 • 编辑完成后,选中编辑的内容,点击鼠标 右键选择最上面的命令,就能在命令窗口 中显示内容和结果
Matlab单纯形法
• 运行matlab会显示三个窗口,分别是变量窗 口,命令窗口和历史窗口。 • 在命令窗口中出现命令提示符 “>>”,就 可以输入命令,按回车键完成运算。 • 命令窗口的说明: • 1.在命令中,空格不参与运算。 • 2.几条命令可以写在同一行,用逗号隔开。 • 3.在命令窗口中不能返回到前面的命令行 进行修改后在重新执行。
• • • • • • • • • •
单纯形法 maxZ=5X1+1.5X2 5X2<=15 6X1+2X2<=24 X1+ X2<=5 X1,X2>=0 命令如下: c=[-5 -1.5];A=[0 5;6 2;1 1];b=[15;24;5];lb=[0;0]; ub=[]; [x,fval]=linprog(c,A,b,[],[],lb,ub) Optimization terminated.
• 如果模型中不包含不等式约束条件,可用 []代替A和b表示缺省;如果没有等式约 束条件,可用[]代替Aeq和beq表示缺省; 如果某个xi无下界或上界,可以设定lb(i) =-inf或ub(i)=inf; 用[x , Fval]代替上述各命令行中左边的x, 则可得到在最优解x处的函数值Fval;
பைடு நூலகம்
• 线性规划问题 • 解决这一问题我们用的是linprog函数,linprog 函数求的是最小值,线性规划是求最大,所以 要在目标函数前加一个负号. • x = linprog( c , A , b , Aeq , beq , lb , ub , x0 )是求 解线性规划问题的命令。 • c是目标函数的系数向量,A是不等式约束 AX<=b的系数矩阵,b是不等式约束AX<=b的常 数项,Aeq是等式约束AeqX=beq的系数矩阵, beq是等式约束AeqX=beq的常数项,lb是X的下 限,ub是X的上限,X是向量[x1,x2,...xn]即决策 变量。
• 求解没有非负约束的线性规划 例如:maxZ=2X1+3X2 2X1+2X2<=12 X1+2X2 <=8 4X1 <=16 4X2<=12 • 编辑程序如下 • c=[-2 -3]; • A=[2 2;1 2;4 0;0 4]; • b=[12;8;16;12]; • X=linprog(c,A,b) • Optimization terminated.(最优化结果)