matlab中linprog函数解线性规划方程

线性规划问题,建立线性规划问题模型的基本步骤:

一、明确目标

二、确定问题的决策变量

三、构建目标函数

四、确定约束条件

建立好线性规划方程之后,紧接着而来的就是如何解方程,我们使用 matlab中的 linprog函数来求解:

x=linprog(c,A,b,Aeq,beq,lb,ub)

 

而在matlab中使用matlab 标准的格式

matlab中linprog函数解线性规划方程_第1张图片

 

方程为:

 

\large min z=-5x$_{1}$-4x$_{4}$-6x$_{3}

 

matlab中linprog函数解线性规划方程_第2张图片

 

求解的话: matlab的代码:

c = [-5 -4 -6];
A=[1 -1 1;3 2 4;3 2 0];
b=[20;42;30];
lb=zeros(3,1);
[x,fval]=linprog(c,A,b,[],[],lb);
disp(x);
disp(fval);

结果如下:

matlab中linprog函数解线性规划方程_第3张图片

如果求最大值则:

matlab中linprog函数解线性规划方程_第4张图片

 matlab中linprog函数解线性规划方程_第5张图片

 

求该方程的代码:

Aeq=[1 1 1];
Beq=7;
A=[-2 5 -1;1 3 1];  // 两边都取符号,把大于等于号改成小于等于号
b=[-10;12];
lb=zeros(3,1);
x=linprog(-c,A,b,Aeq,Beq,lb); //改成-c 改符号
value=c*x;  %矩阵乘法
disp(x);
disp(value); 

结果如下:

matlab中linprog函数解线性规划方程_第6张图片

学会了 linprog函数 之后求线性规划问题就轻而易举了。

目标函数的最大值和最小值方法都已经讲述了,你学会了吗?

你可能感兴趣的:(数学建模)