【数学建模美赛】(一)线性规划与指派问题(附具体示例)

【参考资料】

  1. B站:【零基础教程】老哥:数学建模算法、编程、写作和获奖指南全流程培训!
  2. 书籍:数学建模算法与程序(司守奎)

1 线性规划

1.1 线性规划的 Matlab 标准型

min ⁡ x    c T x \underset{x}{\min}\;c^Tx xmincTx

s . t . { A x ≤ b A e q ⋅ x = b e q l b ≤ x ≤ u b s.t.\begin{cases} Ax\leq b\\ Aeq\cdot x=beq\\ lb\leq x\leq ub \end{cases} s.t.AxbAeqx=beqlbxub

% 最简形式
[x, fval] = linprog(c, A, b);

% 完整形式
[x, fval] = linprog(c, A, b, Aeq, beq, LB, UB, x0, OPTIONS);

例如,对于如下线性规划问题:
max ⁡ x    2 x 1 − 3 x 2 \underset{x}{\max}\;2x_1-3x_2 xmax2x13x2

s . t . { 2 x 1 − 5 x 2 ≥ 10 x 1 + 2 x 2 ≤ 12 x 1 + x 2 = 7 x 1 , x 2 ≥ 0 s.t.\begin{cases} 2x_1-5x_2\geq 10\\ x_1+2x_2\leq 12\\ x_1+x_2=7\\ x_1,x_2\geq0 \end{cases} s.t.2x15x210x1+2x212x1+x2=7x1,x20

c = [2; -3];
A = [-2, 5; 1, 2]; b = [-10; 12];
aeq = [1, 1]; beq = 7;

x = linprog(-c, A, b, aeq, beq, zeros(2,1))
value = c' * x

1.2 可以转化为线性规划的问题

很多看起来不属于线性规划的问题,也可以通过一定的转换变成线性规划问题。如:
min ⁡ x    ∣ x 1 ∣ + ∣ x 2 ∣ + . . . + ∣ x n ∣ ,      s . t .    A x ≤ b \underset{x}{\min}\;\vert x_1\vert+\vert x_2\vert+...+\vert x_n\vert,\;\;s.t.\;Ax\leq b xminx1+x2+...+xn,s.t.Axb

由于对于任意的 x i x_i xi,都存在 u i , v i > 0 u_i, v_i>0 ui,vi>0 满足 x i = u i − v i , ∣ x i ∣ = u i + v i x_i = u_i − v_i, \vert x_i\vert= u_i + v_i xi=uivi,xi=ui+vi。例如:
u i = ∣ x i ∣ + x i 2 , v i = ∣ x i ∣ − x i 2 u_i=\frac{\vert x_i\vert+x_i}{2},v_i=\frac{\vert x_i\vert-x_i}{2} ui=2xi+xi,vi=2xi

  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江湖留名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值