首页 理论教育 线性规划模型求解软件

线性规划模型求解软件

时间:2023-11-17 理论教育 版权反馈
【摘要】:线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以是小于等于也可以是大于等于。为了避免这种形式多样性带来的不便,MATLAB中规定线性规划的标准形式为其中:c,x,b,beq,lb,ub为列向量;A,Aeq为矩阵。例6 求解下列线性规划问题:解 首先要化为MATLAB的标准形式。

线性规划模型求解软件

下面我们用MATLAB求解线性规划问题。线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以是小于等于也可以是大于等于。为了避免这种形式多样性带来的不便,MATLAB中规定线性规划的标准形式为

其中:c,x,b,beq,lb,ub为列向量;A,Aeq为矩阵

MATLAB中求解线性规划的命令:

[x, fval]=linprog(c, A, b)

[x, fval]=linprog(c, A, b, Aeq, beq)

[x, fval]=linprog(c, A, b, Aeg, beq, lb, ub)

其中:x返回的是决策向量的取值;fval返回的是目标函数的最优值;c为价值向量;A和b对应的是线性不等式约束;Aeq和beq对应的是线性等式约束;lb和ub分别对应的是决策向量的下界向量和上界向量。

例3 求解下列线性规划问题:

解 首先化为MATLAB的标准形式

求解的MATLAB程序如下:

c=[-2; -3; 5];

A=[-2, 5, -1; 1, 3, 1]; b=[-10; 12];

Aeq=[1, 1, 1]; beq=7;

[x, fval]=linprog(c, A, b, Aeg, beq, zeros(3, 1))

求得的最优解为x1=6.428 6,x2=0.571 4,x3=0,对应的最优值z=-14.571 4。

例4 求解下列线性规划问题:

解 求解的MATLAB程序如下:

c=[4; 1; 1];

Aeq=[2, 1, 1; 3, 3, 1]; beq=[4; 3];

[x, fval]=linprog(c, [ ], [ ], Aeg, beq, zeros(3, 1)) %没有不等式约束,对应的矩阵为空矩阵(www.xing528.com)

求得的最优解为x1 = 0,x2=0,x3 = 5.315 5,对应的最优值z = 5.315 6。

例5 求解下列线性规划问题:

解 求解的MATLAB程序如下:

c=[-1; -2];

A=[-2, 1; -1, 1; 1, -1]; b=[8; 3; 3]; lb = [0; 0]; ub = [3; 10];

[x, fval]=linprog(c, A, b, [ ], [ ], lb, ub); % 没有等式约束,对应的矩阵为空矩阵

x, fval = -fval

求得的最优解为x1=3,x2=6,对应的最优值z=15。

例6 求解下列线性规划问题:

解 首先要化为MATLAB的标准形式。

求解的MATLAB程序如下:

clc, clear

c=[1; 2; 3; 4; 1; 2; 3; 4];

A=[1, -1, -1, 1; 1, -1, 1, -3; 1, -1, -2, 3]; b=[-2; -1; -1/2];

A=[A, -A];

[y, fval]=linprog(c, A, b, [ ], [ ], zeros(8, 1)); % 没有等式约束,对应的矩阵为空矩阵

x=y(1: 4) - y(5: 8) %变换到原问题的x=u-v

求得的最优解为x1=-2,x2=x3=x4=0,对应的最优值z=2。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈