标题: matlab优化工具箱实例运用 [打印本页] 作者: sdy880911 时间: 2010-9-1 13:20 标题: matlab优化工具箱实例运用 可以在网页上看,嫌麻烦的同志下载。 matlab优化工具箱实例运用MATLAB优化应用 ' k* M8 ?/ {! O8 D( L& k8 s 7 E( Z+ A$ |, N# M) z3 Q! _* Z§1 线性规划模型4 C; o( G& M) U* @: k, d
一、线性规划课题:, w7 Q* W3 L9 }% R
实例1:生产计划问题 9 i! E/ k) M7 {+ p+ B+ X& j+ w% B- a z$ N
假设某厂计划生产甲、乙两种产品,现库存主要材料有A类3600公斤,B类2000公斤,C类3000公斤。每件甲产品需用材料A类9公斤,B类4公斤,C类3公斤。每件乙产品,需用材料A类4公斤,B类5公斤,C类10公斤。甲单位产品的利润70元,乙单位产品的利润120元。问如何安排生产,才能使该厂所获的利润最大。9 r7 x9 ?& s' {* `
建立数学模型: $ R9 M3 ^6 [0 q5 z4 C/ z设x1、x2分别为生产甲、乙产品的件数。f为该厂所获总润。) r# z3 x0 J G2 n) F
max f=70x1+120x20 e- ^% A' u9 ?/ N
s.t 9x1+4x2≤3600% ]2 p6 Q+ `: q/ [0 K5 x
7 U/ e7 H/ a1 v4 }" @
4x1+5x2≤2000 + N1 j8 r7 ]' t1 ^ 2 u6 m# C I1 S3 D- p2 ]8 L' Y3x1+10x2≤30002 z- ]* A% @: j
( Y" s' E6 [/ f, o. px1,x2≥0 $ Q0 w1 L" X9 e( N. I实例2:投资问题, ?4 {6 r/ c1 i/ D/ R
: B2 T9 P1 s5 {. \1 Z" u8 F某公司有一批资金用于4个工程项目的投资,其投资各项目时所得的净收益(投入资金锪百分比)如下表:+ I7 S: g5 O4 c$ t7 a- f+ z
工程项目收益表 7 } g% z; p+ g; b3 }# ~ 6 H, c& s& R0 h) B% I8 `工程项目- s8 Y" ~9 ~! t! m8 {
A ( p" }, ]: @) ]) S% Z0 TB1 f' Q: m3 y0 u/ x$ E8 P
C . m* }$ W- F2 P% F* k+ K9 }6 MD 8 I/ h8 E Z$ p/ D6 g2 C8 x 4 l8 K9 t, t$ e% i5 m收益(%) 3 `3 `( s: j$ C1 D. M9 ^4 I* ]15. r) s. _( d& O1 q. |! Z0 B
10 - P) e1 O, w! t( a. R' J! G$ z8 % k$ k/ B: H& Q6 F4 R. Q4 a12 ) k; o+ Z5 U4 z: G$ W" z9 z! F! A! F9 L# c0 u% k# @8 F, A
由于某种原因,决定用于项目A的投资不大于其他各项投资之和而用于项目B和C的投资要大于项目D的投资。试确定全文该公司收益最大的投资分配方案。 : m5 W" ]& ]& e1 k+ G# m9 L. K建立数学模型: 4 S! w4 E& f2 d设x1、 x2 、x3 、x4分别代表用于项目A、B、C、D的投资百分数。( E0 P/ U' m- |: t8 ^ }- _ S
max f=0.15x1+0.1x2+0.08 x3+0.12 x4& r' q6 Q4 r$ S0 ^* b" s
s.t x1-x2- x3- x4≤08 N1 M/ J- k _1 \# u% _
+ r7 n: z" e3 }2 }
x2+ x3- x4≥08 F8 x' A3 [1 v3 [9 r- T: ? R9 ]
x1+x2+x3+ x4=14 ?. W' c% G2 P6 n) z# W
xj≥0 j=1,2,3,4 ' O+ a& n; T# I% H4 c/ w实例3:运输问题: z$ p0 m* I$ }: g8 H$ H( ]
8 \& K6 ]& d2 u& k+ ~) [
有A、B、C三个食品加工厂,负责供给甲、乙、丙、丁四个市场。三个厂每天生产食品箱数上限如下表:6 _; o* E1 ^3 m0 G
工厂: G7 ]0 v* J) H7 ?8 P2 F1 y) m# \
A0 { g8 n& i7 u9 Q4 ~* d
B : [& U7 j a) C& r4 b8 j( SC 1 b" D _% t" W. C! P5 G, [- X; D& G0 K: m' ?. z1 B& V. a1 r% K
生产数0 r" Y9 `" P: d3 ?
60& m1 k) Y" G- L# B) M
40 ( E# d: _7 L+ k50 ; `1 Z; T. r. D ; f" _0 L2 w; D- x! d四个市场每天的需求量如下表: # Y% o" a" V& D! J `+ A" s) C1 s' H市场 6 P" z" Y8 x3 R) D, k$ E甲2 i- Q+ b4 E7 I) {3 o
乙 ) }( E( f8 V$ w0 j1 T丙 ' o5 h* p5 \* {/ \4 o3 }. ]丁; L6 ^7 q5 q, ^ B# m( q
) T1 R* _" o) G9 S
需求量 & C' g& V8 X- Y2 h0 L% L20- ~( T# t- a% `; _8 P- V
35$ [" G9 X+ K7 R
33 1 U+ ]: N: R$ a) }, c34 3 b, A3 s' p! H1 C4 m7 @ 3 O& Z# g7 L* K1 ^0 s- J6 Q9 Q3 `$ n从各厂运到各市场的运输费(元/每箱)由下表给出:/ J4 ~8 ^9 |4 H* ]
收 `3 @- m1 a5 l( d/ G* e- {8 j
( v) `5 n3 J$ q% [8 g: }
点) [1 q! D- B+ t2 }
- G6 B3 v( G3 f3 }
发 & i* Q. I7 B1 ^8 r' ?, | G - q |& |% V, ^4 |; G点- U3 I l# o& P1 H2 u% t' b
$ t6 n- A" A2 `: f- y
市 场 6 n6 R7 O5 ~$ a / P7 Q% _$ E) Z0 A5 W2 L5 Q甲7 Q1 a% n2 U0 Q/ b+ P
乙* M% x+ e8 q/ D, m" q- w* x+ @) Q
丙 / c! Q, T# @* g1 N丁$ @6 e3 T( m+ ?& q0 \8 p' [
+ g. N6 D) u9 Q$ e1 _3 O5 i5 I2 V
工 V0 f7 X x( f: w; n. S
厂5 A, v8 _5 Z* Q Y. i( Q3 z
A' J ^; C0 D Q" A9 K
2 . D, B0 ] f: A15 ^, F6 f5 X: @$ o" f I: t3 b
3/ f ?6 E7 @4 j
2$ g: ^# {3 J. N8 U3 s0 x
9 ]* Q7 ^: o* Z* A5 d% X1 n
B' p: u/ O3 b8 P* y/ ~
1 + p" k( H' R' g0 _3# Y- t5 d* ^6 @# o! H
22 t# X$ o3 d. t- }8 B) O% n
1 ]% w" k, k# K( y+ _
1 A8 j( X9 Y, \+ wC8 |4 F0 _+ \( e& e7 L1 V
39 t E$ d9 l& x
4 ) } a4 T k9 Y, v; V* H% B: ^1 & v4 A- M* r1 V' H7 }( r# V# N: n1 : C U( V% t. s, o. U9 K . G. p4 Z9 U1 N& `, D求在基本满足供需平衡的约束条件下使总运输费用最小。 ! r8 p K) K; o' L6 B建立数学模型: . _. ]7 H' ?% J" H l设ai j为由工厂i运到市场j的费用,xi j 是由工厂i运到市场j的箱数。bi是工厂i的产量,dj是市场j的需求量。 z8 L' g. A0 X
) r/ h5 E' P$ ] `5 t: v
b= ( 60 40 50 ) d= ( 20 35 33 34 )/ b' e3 ~% e1 S- T! C) k
! |; Y. q# x( q5 ^/ i. c2 Q$ L
s.t ) q8 H4 R- ^; ]$ G4 d2 z+ y# \1 v4 W- e
7 s1 s7 H7 @1 q& @ _( K% \/ h3 K
x i j≥0 ; T$ D+ X# s; X5 a' W; Y, ~0 r% g1 A2 k
8 Z% f$ c, C+ ?6 i8 x当我们用MATLAB软件作优化问题时,所有求maxf 的问题化为求min(-f )来作。约束g i (x)≥0,化为 –g i≤0来作。 ( @) H/ ?/ D: O1 g, R$ \3 h上述实例去掉实际背景,归结出规划问题:目标函数和约束条件都是变量x的线性函数。) O+ M) X) p" U$ `$ r
形如: (1) min f T X: M7 S" u* X$ @) }
s.t A X≤b6 t0 E' D8 R% K! `
Aeq X =beq' U& k4 H9 ]5 k
lb≤X≤ub ( l" o9 j+ |/ V; B% _, B7 L2 o9 X# {% \% X1 d
其中X为n维未知向量,f T=[f1,f2,…fn]为目标函数系数向量,小于等于约束系数矩阵A为m×n矩阵,b为其右端m维列向量,Aeq为等式约束系数矩阵,beq为等式约束右端常数列向量。lb,ub为自变量取值上界与下界约束的n维常数向量。 + ?( o+ U: `- m二.线性规划问题求最优解函数: 5 T! {! m5 [) m6 P调用格式: x=linprog(f,A,b)0 t& o& G" w }
, s# P) e& ]; f6 Hx=linprog(f,A,b,Aeq,beq)1 @9 k3 g+ Z; g. s& g e: ]
7 d! L8 r1 d' E* E! U$ d* L7 yx=linprog(f,A,b,Aeq,beq,lb,ub)4 R& q- c. |5 x7 ]! k& ^
1 D0 V3 g. U/ W7 P9 p ?7 U7 ~' Yx=linprog(f,A,b,Aeq,beq,lb,ub,x0) 9 o, j6 D' L' l- A. ~, G . H( `( n2 D) _8 kx=linprog(f,A,b,Aeq,beq,lb,ub,x0,options) 6 U7 I0 d2 J, J( N: Y1 n. V8 _0 X. ]2 y
[x,fval]=linprog(…)3 Y1 f2 r1 ]) X7 l$ W
* ~; j' u+ [/ b' \: K0 p1 z" u
[x, fval, exitflag]=linprog(…)2 [ a% F, {' c) P