数学建模算法 一 简述(3)规划模型-整数规划& W4 q# m* }6 }* V4 I& {
摘要: 本文讲的是数学建模算法 一 简述(3)规划模型-整数规划, 整数规划 定义: 规划中的变量(全部或部分)限制为整数,称为整数规划。若在线性模型中,变量限制为整数,则称为整数线性规划。 一类要求问题的解中的全部或一部分变量为整数的数学规划。从约束条件的构成又可细分为线性,二次和非线 教程 云栖大会 Mysql 备案 文档 域名 whois查询 PHP教程 备份 互联网大学 云教程 3 B3 m: R1 R0 D# ~: m3 I8 |
整数规划 ! S- ~$ F8 d: W$ i
定义:
, i, g8 A. \& h$ F+ W& w8 o* M- A: O规划中的变量(全部或部分)限制为整数,称为整数规划。若在线性模型中,变量限制为整数,则称为整数线性规划。 ) Y! f$ @# i- v0 b/ a2 R
一类要求问题的解中的全部或一部分变量为整数的数学规划。从约束条件的构成又可细分为线性,二次和非线性的整数规划。 数学规划问题中有很多决策变量都只能取整数,如人员数量、机器设备台数、服装件数、汽车辆数等.如果规划问题中的决策变量xi(i=1,2,…,n),要求取整数值,则称这个模型为整数规划模型数学表现形式
- p8 s& o9 f; U2 `' `( W![]() 主要解法分为这几种: (i)分枝定界法—可求纯或混合整数线性规划。 " X7 J$ ~9 l' T$ U
(ii)割平面法—可求纯或混合整数线性规划。
4 M* |+ s8 z9 o7 d* X8 i(iii)隐枚举法—求解“0-1”整数规划: 0 A2 J3 p) g3 Q4 B$ X
①过滤隐枚举法; 1 c- K) U [0 q$ b9 w
②分枝隐枚举法。 * b4 M, K) @- P1 I6 ^# i7 ?" A( u' P: {% m
(iv)匈牙利法—解决指派问题(“0-1”规划特殊情形)。
- Z/ e9 W1 S9 O- q' }( M- Y(v)蒙特卡洛法—求解各种类型规划。 示例:
0 O3 }$ X: B+ {, R' Q) `乐家百货商场准备派小李、小张、小王三位销售人员去销售库存的120件大衣.由于他们以前的销售业绩不同,每销售一件产品小李、小张、小王的报酬分别为6元、4元、3元.商场为保证销售速度,规定小李至少要承担30件销售任务,小张至少要承担20件销售任务,而小王承担的销售任务不能超过50件.问应该如何安排销售计划使总销售成本最低. 一、模型假设与变量说明
: }3 `' r& K ^. |- l8 T. Z! ]: U4 [6 ^* O1.假设三位销售人员能销售完120件大衣. 7 d1 n, E- A7 ]5 e) c
2.小李、小张、小王承担的销售任务分别为 x1,x2,x3. 二、模型的分析与建立
! B/ O6 R4 ~4 n, C" l该问题是在对三位销售人员销售数量进行一定限制的情况下,合理安排各销售人员的销售数量,使得公司支付给三位销售人员的总报酬最少.
; T y( g7 B' M. I目标:三位销售人员的总报酬最低.而总报酬为 9 l0 r: ? [% k
% u) m8 f) W0 B6 h约束条件: 9 ^) @3 f6 h# o' t4 y
1.受总销售数量的限制: ( L- I G, A, V0 D& x
![]() 2.受销售员销售数量的限制(如小李): X(1) ≥ 30
* z$ @: L% e6 I1 A, l8 j![]() x=intvar(1,3); f=[6 4 3]*x'; F=set(0<=x<inf); F=F+set([1 1 1]*x'==120)+set(x(1)>=30)+set(x(2)>=20)+set(0<=x(3)<=50); solvesdp(F,f) double(f) double(x)
: K& r, h2 B. S! P5 l( v由此可知,小李,小张,小王分别承担30,40,50件销售任务时,公司支付的总报酬最少.
- \2 x0 Z+ o7 D! l- X3 j. t n- T% H5 Y) d& S* M# ^, @' i0 w
: l* b7 T/ B$ ?7 b! C
|