* h: E6 i b: g2 f* I! e中国大学生数学建模竞赛备赛(一) + i0 ]$ ?9 t% g$ g9 I$ f/ h% _$ m第一章 线性规划, a; F7 V, b' _. Y, e
数学规划问题通常由3部分组成:约束条件、决策变量和目标函数。 ]2 x/ \/ h* M
其中约束条件前面多用:s.t.(subject to)表示;决策变量代表要研究的最优方案的解,目标函数通常是最大或者最小(min or max)。. K; v$ F+ A# V% Z' K. J0 |3 {
; A1 H _$ t2 d7 v# \8 \3 r0 s, Y$ O8 K q4 E
1.1 线性规划问题 % W4 C# r8 `( U/ u4 O6 L# {2 |. n' {线性规划(Linear Programming,LP),是运筹学中数学规划的一个重要分支。当目标函数和约束条件均为线性函数时,该问题是LP问题。 3 D* ?; q" E$ b) Q/ a, T" a所谓可行解:是满足约束条件的解;而既满足目标函数又符合约束条件的解称为:最优解; % |: C( `3 I5 x( J+ Q 9 D/ n" x! n* i( j* t6 w0 o 9 D6 P) C! A% \* {, i1.2 线性规划的MATLAB求解 2 K, O, g, s: a" M$ _6 f+ i: s6 k' L1 m( O( }4 s
# y3 x9 h: \7 c其中:f , x , b , b e q , l b , u b f,x,b,beq,lb,ubf,x,b,beq,lb,ub为列向量;A , A e q A,AeqA,Aeq为矩阵。 * \/ R; H1 Y d7 _7 R 6 d. q% r* S8 o) M v0 r1 \7 ? & n& Y. @ ~& n. c Y: o0 W[x,fval]=linprog(f,A,b); ! J" r( ?. @* I' m) x; a9 M[x,fval]=linprog(f,A,b,Aeq,beq); 4 R) l+ _4 l# I2 F9 j3 c[x,fval]=linprog(f,A,b,Aeq,beq,lb,ub); 1 n7 w: T) J' _! [$ o//其中:x返回是决策变量的取值,fval是目标函数的最优值; 7 Z9 A* J7 x$ k! X0 A+ a& Z% v1( V( V) p) U9 [6 R7 A0 |
2 1 G& E. b# X6 W+ Y6 u9 X0 m3 # _9 ~, Y: N- n7 B i- P47 X/ t3 d* y# H% t. g+ D
而对于最大型规划问题,可以采用对目标函数和约束变量取反来变换为最小值(相当于关于x轴对称) ; K+ ^& G# f9 k0 d x3 k例如: , T0 w: U/ p$ em a x , c T x , s . t . A x > = b max,c^Tx, s.t. Ax>=bmax,c . R3 i9 ~6 T6 aT7 A$ f# u( k) g' L9 C/ n p
x,s.t.Ax>=b. Y- U5 v u$ f* t3 G/ x4 ]6 M
m i n , − c T x , s . t . − A x < = − b min,-c^Tx, s.t. -Ax<=-bmin,−c ; d1 \$ k) g4 V; v
T ' c$ R( m/ a3 v x,s.t.−Ax<=−b9 i& i. t' N" M( X8 ~" J# Z8 R
- Q0 s( \, h7 T