QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3228|回复: 0
打印 上一主题 下一主题

[其他资源] 数学建模:matlab解决线性规划问题

[复制链接]
字体大小: 正常 放大

326

主题

32

听众

1万

积分

  • TA的每日心情
    慵懒
    2020-7-12 09:52
  • 签到天数: 116 天

    [LV.6]常住居民II

    管理员

    群组2018教师培训(呼和浩

    群组2017-05-04 量化投资实

    群组2017“草原杯”夏令营

    群组2018美赛冲刺培训

    群组2017 田老师国赛冲刺课

    跳转到指定楼层
    1#
    发表于 2020-5-28 15:56 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济效7 N. i9 O% p0 ?5 g5 o
    益的问题。此类问题构成了运筹学的一个重要分支一数学规划,而线性规划(Linear
    8 J+ I: ?; Q( {( }4 C# }4 k6 y4 HProgramming, LP)则是数学规划的一个重要分支。自从1947年G. B. Dantzig 提出求解线
    * q# S( v- I+ ?1 O6 F性规划的单纯形方法以来,线性规划在理论上趋向成熟,在实用中日益广泛与深入。特别
    % |9 m: ^9 T6 B, E0 B是在计算机能处理成千上万个约束条件和决策变量的线性规划问题之后,线性规划的适. r0 q3 f- {8 t1 X) Z+ C6 J
    用领域更为广泛了,已成为现代管理中经常采用的基本方法之一。3 s5 L+ t: _) c' n& A
    & B5 Y6 t1 b5 W2 p
    例如,给定m个数据点(xi,yi),i=1,2,…,m,拟合一条直线y=ax+b(即确定参数a、b),使得所有数据点(xi,yi)和拟合直线上对应的点(xi,axi+b)之间距离的最大值rmax最小。也就是说,对整个这组数据点而言,最大绝对偏差r=max{ | yi-y(xi) | }最小。这种准则实际上定义了如下优化问题:# z4 i' W/ k% E& D! Q" g! n8 v' }+ r
    4.png 4 N/ {6 U. ^# g# m! F, Q% }1 A$ X5 k
    这是一个线性规划问题,具有很广泛的应用。6 i; I# m/ Y' P3 I4 q

    * _6 \& ?  @4 X' O, \. y2 q木匠问题5 _  ~7 d6 F! Y* y3 r  Y3 r
    木匠销售桌子和书架的单位净利润分别为25美元和30美元,他希望确定每周生产的桌子数量x和书架数量y。他每周最多有690 张木板和120小时的劳动时间可以利用,如果木板和工时不用于生产桌子和书架,他能够将它们有效地使用在其他方面。他估计,生产一张桌子需要20张木板和5小时劳动时间,生产一个书架需要30张木板和4小时劳动时间。模型为
    , }. q1 f5 x. z. A7 Y7 M+ C* a 5.png ; x6 a. Y5 P9 ~% I
    + @* d* w; d5 [% b: @: o
    木匠问题中的约束所代表的凸集在图中用多边形ABCD表示。请注意,约束所代表的直线有6个交点,但只有四个交点(即A—D)满足所有约束从而属于该凸集。点A—D是该多边形的极点。5 M3 I, W/ W0 g& {$ ~. X
    如果一个线性规划存在最优解,它必然也会出现在约束所形成的凸集的某个极点上,极点上目标函数的值(木匠问题的利润)是
    & N) k1 C8 j+ f6 X$ Z) `: T2 l# k6 c
    1.png ' C; H& F2 _# L- x4 X

    : E- H/ R& B- i- \9 h0 C
    ; M( r3 r4 X1 ]3 |6 z5 R1 G因此,木匠每周应该制作12张桌子和15个支架,每周最大利润为750美元。8 Z- e7 x! ^5 M: K# _) Z0 _- H
    ! V9 m% Z  G3 e. G6 x
    木匠问题(线性规划)的matlab解法
    2 S% c! S% X8 Z! i. _$ Z$ k+ `4 Z) d8 |# Q; u
    线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以是
    + ~" v+ O; H" f1 {% Y8 w: T小于等号也可以是大于等号。为了避免这种形式多样性带来的不便, Matlab中规定线性
    8 w+ L; p* b+ d4 r3 Q% H2 a' W规划的标准形式为5 `" E* u0 K' p( p) _% j9 F- r& s
    2.png

    : K$ @8 w, C' [) |9 p1 g3 ?8 A) o# X5 v0 P7 t
    式中:f,x ,b ,beq,lb, ub为列向量,其中f称为价值向量,b称为资源向量;A , Aeq为矩阵。: y; e! U$ K# b% V
    Matlab中求解线性规划的命令为
    2 L# {6 M1 Q6 B* p# }[x,fval] = linprog(f,A,b)
    9 E# l! G% c1 a' N$ w0 Q: g% G[x,fval] = linprog( f,A,b,Aeq, beq). D+ k) O9 y$ m+ @6 V% P: K
    [x,fval] = linprog( f ,A, b,Aeq , beq,1b,ub); M4 g. Q) \/ B+ Y0 g! m3 p) b
    式中:x返回决策向量的取值;fval返回目标函数的最优值;f为价值向量;A和b对应线性
    + q# g0 @* Q7 z; M不等式约束;Aeq和beq对应线性等式约束;lb和ub分别对应决策向量的下界向量和上9 @0 D, ?9 e6 f) }% e+ X1 I
    界向量。
    - b  p+ ~" E% L" X# w例如,线性规划
    9 `% o" V# w0 }7 [8 b. P! S. d 6.png & L4 i: z3 {. n: j
    的matlab标准型为
    2 R' K1 C1 Z9 \9 b8 J 7.png 2 c+ o  H8 R) P

    ; l* k4 @6 Y/ |* ~9 R# i6 h8 m0 i7 w7 `1 S1 ?# L
    附上木桶问题的matlab代码
    ) s6 `( R# U4 o  r 3.png
    ( E0 u0 x: u3 `: H. L( u- S/ p7 }/ I
    ————————————————" Q; K: ~7 y- E8 k3 g
    版权声明:本文为CSDN博主「板砖大的砖头」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    - j$ ^/ Y1 r8 L0 s" D# e原文链接:https://blog.csdn.net/qq_44953660/article/details/104227831
    . s( o9 S: ^- p1 I, Z' C4 I7 m9 D# d7 ?4 J; p2 h( G
    ) f5 h: g( ^$ R8 N0 d

    6 S- ]# w& z7 S4 Q
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-4-11 21:53 , Processed in 0.400249 second(s), 54 queries .

    回顶部