QQ登录

只需要一步,快速开始

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

【数学建模】线性规划

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

100

主题

17

听众

7546

积分

升级  50.92%

  • TA的每日心情
    开心
    2018-6-4 15:01
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    群组2018年大象老师国赛优

    群组高考备战

    群组2018中小学数学建模冬

    跳转到指定楼层
    1#
    发表于 2018-10-30 10:06 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta

    1.线性规划简介

    线性规划(LP)是数学规划的一个分支。


    # \7 }2 N9 h+ ~! t& s8 [/ \7 c+ J% Z! \' Q3 G
    x1,x2为决策变量,约束条件记为s.t.(subject to)。
    6 w# X4 ]6 p/ j7 P

    2.线性规划的matlab标准形式

    线性规划的目标函数可以求最大值也可以求最小值,约束条件的不等号可以是小于号也可以是大于号,因此在matlab中给出了统一形式


    $ B3 N8 d; Q4 \: ~* `/ Q0 b6 z  @) w. s; G; X3 o* C! [5 V* P
    其中c和x均为n维列向量,A、Aeq为适当维数(列数与x维数相同,行数与约束条件数相同),b、beq为适当维数的列向量(维数与约束条件数相同)。
    : p% Q4 \; q9 R) F6 T/ Y, n4 ?/ V& v( F! {+ S. G
    例如:
    - @6 [9 N4 f9 h4 v  Zmax  cTx  s.t.   Ax≥b max  cTx  s.t.   Ax≥b * O& S& w; s7 C' j- t
    matlab中为:
    . U2 w% B1 U9 _. v0 umin  −cTx  s.t.   −Ax≤b min  −cTx  s.t.   −Ax≤b - j+ W& `8 j8 W6 J" r2 y
    3.线性规划中解的概念; r$ {) C( {/ b9 Y. L7 ^
    7 u) H* C! @$ @* Q! _
    可行解:满足约束条件的 解x = (x1,x2…xn),称为线性规划问题的可行解,从而使目标函数达到最大值或者最小值的可行解称为最优解。
    : |: k. U, m% E- _可行域:所有可行解构成的集合称为问题的可行域,记为R。1 m% x$ V5 H* x# T- F4 E
    , `6 q* |" O& l( J. n6 S, M
    4.一般的线性规划问题
    9 v% O& ]( ?7 d. K: |' [4 W9 s  ^9 P, Z4 F! W* w. ?
    在一般的n维空间中,满足 ∑ni=1aixi = b∑i=1naixi = b 的点集称为一个超平面,而满足 ∑ni=1aixi ≥ b∑i=1naixi ≥ b (或者∑ni=1aixi ≤ b∑i=1naixi ≤ b )的点集称为一个半平面,若干个半平面的交集称为多胞形,有界的多胞形称为多面体。因此线性规划的可行域必定为多胞形(空集也视为多胞形)。若该区域R为凸集,则凸集中的任意两点的连线必然在该凸集中,若x为区域R的极点,则x不能位于R中的任意两点的连线上。% _0 A6 x; \4 E
    - N; Q( g1 S+ O4 E6 Q
    5.matlab中线性规划求解过程
    # P+ \4 ^- n# t  [- ?1 }
    ) s% V  ~  U' V( N% r4 I' e/ D; c① 利用linprog函数返回最小值解向量。
    5 o1 y1 T/ e: ?( `& o1 S② value = c’ * x求最小值。
    * H, A5 ^* P2 p. }# v0 p# p* T  ]: ]5 v
    基本函数形式是 linprog(c,A,b) , c用于确定等值线(列向量),返回值为向量x。 ! p) K# I, u# E1 ]; S% a
    其他的函数形式: $ ?3 g8 ?3 m6 Q+ V
    [x,fval]=linprog(c,A,b,Aeq,beq,LB,UB,x0,OPTIONS) ( ^6 H, Z) a' I' J" O# i
    x0为向量x的初始值,一般使用zeros()函数 初始化,LB和UB分别是向量x的下界向量和上界向量。返回值为fval(目标函数c’ * x的值)。
    2 f2 }' T2 H  p/ v6 Y
    * O' k2 v: {, \/ w1 ?! [6.常见技巧
    ; S: p/ I8 d; Y0 P$ [% Y4 |2 I; w) o, X4 N( \1 g
    问题为:7 m4 R) d* E7 v3 x' V! T4 I
    & U! L# f, I( G; `( t- q
    min|x1|+|x2|+…+|xn|  s.t.  Ax≤b min|x1|+|x2|+…+|xn|  s.t.  Ax≤b  ; ^" f( h4 f% B; U& B. ?
    事实上,对于任意的xixi,存在ui,viui,vi满足: , n7 y, j$ y% l- v
    xi=ui−vi  ,  |xi|=ui+vixi=ui−vi  ,  |xi|=ui+vi
    - u: X: G' e8 V! R: f令 ui=(xi+|xi|2),vi=(|xi|−xi2)ui=(xi+|xi|2),vi=(|xi|−xi2)即可满足。
    ( f7 Z% D$ m" \# Z1 A' k1 }
    + _& S# N4 R% \( `! w$ |6 J* a转换为: . O1 a3 R9 I/ R/ B
    min  ∑ni=1(ui+vi)min  ∑i=1n(ui+vi) " `( |9 ?) b" K. {2 o! @1 h! U
    s.t.{A(ui−vi)≤b,u,v≥0,s.t.{A(ui−vi)≤b,u,v≥0,
    ' X3 Z( p- P& l. r7.运输问题(产销平衡)
    6 ~- t% @' i+ ?. P: A5 U
    3 a3 t0 |2 g8 \- |) R  O. U# j6 y, R! |  O* {

    8.指派问题

    1.数学模型 ' Q/ L, i3 q/ Z" W/ o6 F


    + D( P8 w, Y, `& I
    1 |6 R, {4 M* E# B- V+ Z9 Q' L( h9 v; ]2.利用匈牙利算法
    4 {% f9 N' @$ f! {( t# o6 m算法主要思想:如果系数矩阵中C=(cijcij)一行(或一列)中每一个元素都加上或减去同一个数,得到新矩阵B,则以B或C为系数矩阵的指派问题具有相同的最优指派。 ' W/ m! W% c# \
    最优指派的结果是一个2行n列的行列式,第一行为第i人,第二行为被指派的地点。 : `! q# c* O# m
    求解中心:变换出n个不同行不同列的零元素。
    2 z2 g2 x2 Y, ^( W
    8 P# p) l! X4 s  _+ z$ X% B% q' d' e: \6 \

    9 O" m6 [" h3 T, K/ O% |
    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-6-14 14:27 , Processed in 0.418336 second(s), 50 queries .

    回顶部