【数学建模】线性规划模型概念及Matlab实现

一、线性规划

1.1 线性规划简介       

线性规划(Linear programming,LP),是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支,是辅助人们进行科学管理的一种数学方法,是研究线性约束条件下线性目标函数的极值问题的数学理论和方法。

1.2线性规划在数学建模中使用的范围

当生产安排、投资收益、销售运输、车辆安排等题型中出现如何安排/分配、尽量多(少)、利润最大、最合理等词汇时,往往就需要使用线性规划的方法解决问题。

1.3建立线性规划模型的一般步骤

1.分析问题,找出决策变量

2.根据题目所给条件,找出决策变量必须满足的一组线性等式或者不等式的约束,即为约束条件

3.根据问题的目标,构造关于决策变量的一个线性函数,即为目标函数

1.4线性规划的标准形式

max z=\sum_{i=1}^{n } c_{i} x_{i}\dots (1)\\ \left\{\begin{matrix} \sum_{i=1}^{n}a_{ij}x_{i} \le b_{j} \\ x_{i} \ge 0 \end{matrix}\right.\dots(2)

如同上式的情况称为线性规划的标准型

可行解

满足约束条件(2)的解x_i,称为线性规划问题的可行解,使目标函数(1)达到最大值的可行解称为最优解

1.5线性规划的matlab实现

在matlab中要求线性规划必须将max化为min的形式,对max式子两侧同乘以-1即可得到min的表达式。

f目标函数的系数列向量
A,b不等式约束条件的变系数矩阵和常系数矩阵
Aeq ,beq等式约束条件的系数矩阵和常系数矩阵
lb ,ub决策变量的最小及最大取值

Matlab求解线性规划问题的函数调用格式

[x,fval] = linprog(f,A,b)
[x,fval] = linprog(f,A,b,Aeq,beq)
[x,fval] = linprog(f,A,b,Aeq,beq,lb,ub)

二、例题

求解以下线性规划模型

\max z=3x_{1}-x_{2}-x_{3},\\s.t.\begin{cases}x_{1}-2x_{2}+x_{3}\leq11,\\-4x_{1}+x_{2}+2x_{3}\geq3,\\-2x_{1}+x_{3}=1,\\x_{1},x_{2},x_{3}\geq0.\end{cases}

 首先将问题转化为求解器的标准格式,\operatorname*{min}z=-3x_{1}+x_{2}+x_{3}

f=[-3;1;1];
a=[1,-2,1;
    4,-1,-2];
b=[11;
    -3];
aeq=[-2,0,1];
beq=1;
lb=zeros(3,1);%表示下界是一个三行一列的数组且全为0
[x,fval]=linprog(f,a,b,aeq,beq,lb);
y=-fval;%将最小值转化为最大值
disp(x);%输出各个x的取值
disp(y);%输出最大值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值