第一章 线性规划
数学规划问题通常由3部分组成:约束条件、决策变量和目标函数。
其中约束条件前面多用:s.t.(subject to)表示;决策变量代表要研究的最优方案的解,目标函数通常是最大或者最小(min or max)。
1.1 线性规划问题
线性规划(Linear Programming,LP),是运筹学中数学规划的一个重要分支。当目标函数和约束条件均为线性函数时,该问题是LP问题。
所谓可行解:是满足约束条件的解;而既满足目标函数又符合约束条件的解称为:最优解;
1.2 线性规划的MATLAB求解
其中:
f
,
x
,
b
,
b
e
q
,
l
b
,
u
b
f,x,b,beq,lb,ub
f,x,b,beq,lb,ub为列向量;
A
,
A
e
q
A,Aeq
A,Aeq为矩阵。
[x,fval]=linprog(f,A,b);
[x,fval]=linprog(f,A,b,Aeq,beq);
[x,fval]=linprog(f,A,b,Aeq,beq,lb,ub);
//其中:x返回是决策变量的取值,fval是目标函数的最优值;
而对于最大型规划问题,可以采用对目标函数和约束变量取反来变换为最小值(相当于关于x轴对称)
例如:
m
a
x
,
c
T
x
,
s
.
t
.
A
x
>
=
b
max,c^Tx, s.t. Ax>=b
max,cTx,s.t.Ax>=b
m
i
n
,
−
c
T
x
,
s
.
t
.
−
A
x
<
=
−
b
min,-c^Tx, s.t. -Ax<=-b
min,−cTx,s.t.−Ax<=−b
参考文献:
[1]司守奎,孙玺菁. 数学建模算法与应用. 北京:国防工业出版社,2011.