result = linprog(fun, A_ub=A_ub, b_ub=b_ub, A_eq=A_eq, b_eq=b_eq, bounds=bounds)
print(result.message)
复制代码
" u0 n9 F* D" b) H) t0 I9 a7 p上述代码会显示4 k, k- y4 D1 o4 Q W
. U! H6 j4 k( m, S% o # z8 {& o; L# K/ d8 d5 W The problem is infeasible. (HiGHS Status 8: model_status is Infeasible; primal_status is At lower/fixed bound)( {) w- B% H" D
! A$ q( q) n, O* \; N. [* s1 Z 3 I4 J- D* ?( z
这说明问题无解重新调整x1边界范围后继续执行, d; J7 h% ]8 D& h6 R
$ Z$ @9 c$ b! L& |6 Q
x1_bounds = (0, 6)
; G6 W; V! Z% D! ~- Y2 w/ n( \
bounds = [x0_bounds, x1_bounds, x2_bounds, x3_bounds]
' t; x0 d: O f0 M. a
result = linprog(c, A_ub=A_ub, b_ub=b_ub, A_eq=A_eq, b_eq=b_eq, bounds=bounds)
print(result.message)
print(result.x)
print(result.fun)
复制代码
8 b8 c4 f. s. Q- `+ ?2 ?3 f终端显示) N! D$ O' w9 n; O
" R6 M' |: z. }1 q1 k! r6 u' F * a# t0 L: ^+ O+ `+ L+ ? Optimization terminated successfully. " J2 E. ~: p1 b, w( s$ t) o, T [ 9.41025641 5.17948718 -0.25641026 1.64102564]4 ?8 Q7 d& G7 u" d1 B' M5 f
-505.97435889013434& `# b8 W+ _" t# s+ E6 D [8 R
: [+ y, R8 r3 q$ T& u8 C
/ ]9 W% J% C$ ]这说明问题求解成功当0 f+ t8 ?! E r7 M9 g0 C q
8 y# Q( ]; o& ^6 l) Y# O L' E2 ?5 O9 f) j2 V5 r
v. h/ g6 s' J 4 k3 D" R3 c& ?6 k f- b+ I' }- `' {2 ?
x ' j {8 J' [( \7 B3 l/ {" J- k j 5 g# R4 x& s) Y 3 n9 O( n4 o2 O& f, M- F' {3 P 1 & j, X3 n! x& d0 h1 `! a, {/ y" b . \5 _, Z+ x* _ |* p/ q- s7 U# u# w & L' ?3 ~+ a$ E% W
=5 O( }5 T6 V. w3 I' g- H
2 X2 n, W9 l+ w$ i6 O; i% w0 n
4 ^ k7 t I' z! h
9.41025641 6 K' q7 [( O E6 F8 z$ f + K9 j) W( t8 s" H+ ~, }
9 `, c& e& j% p. u3 a) q i
, & S2 P& L8 E1 g; U5 p $ D2 T3 j2 G) N2 n5 w ) z3 W8 r% X1 p1 X# H: f
8 @6 k3 D0 e% {
x ; W: V3 w" P) g0 G9 h+ Z + ]; k2 G' Y( |# D* y ( \! i+ [2 z' r8 g7 D 2 . X, s( }/ A5 X 9 ?. v7 ~, S3 z# c- p
/ D! `7 L3 y D. e. X2 T% e X: a8 w; L
+ h; [. R1 T2 t2 y; U' D
=4 A( {, } M: O& A g: d" [/ U
6 z' m. s1 K! x1 d) v" `- J/ t
' t' }" \. S7 }& [4 ?% S 5.17948718% \& ?( d; c. A* t) M
- r7 J! |, I2 X, L* B$ V6 @
9 \! v. Z$ J S$ Y% k9 ^6 h
,# C% W# n7 Y9 U8 [ x& H$ Z
! v6 n, J, V+ F) R8 k3 I 3 @, U2 p2 M$ _) Z
% Y( R0 Q$ h2 ?$ K! R2 m; F4 D x3 r' `! I% _* V) v$ b- W
9 t* Y' D9 A) e8 V5 f$ @1 Y- j
% O* f- }' G8 X) x1 {& q, z 37 d+ c# c% Q0 I$ D. e" n
* J+ h/ @- G" m | 0 u0 O! C6 E/ w! w9 H: h, T- ^# B 4 F* B4 n7 a: J$ b' V =' b& p/ y+ ~) M
- o/ ~" O' ]6 S! P- X z. _
. n" }5 }$ j" L; C1 U ? 5 U# L4 ^3 N" Q1 A4 {* n0 x 1 E* N5 _# t& F8 B 4 s R$ p2 B( u6 N1 C& k9 |/ ~ 0.25641026+ Y9 D9 B- a, q. i0 v
/ {+ P7 ]% Q9 a7 O% e : H9 K2 y( T m; B ,4 ^$ t- U, W* Y2 V0 C$ o
0 G6 l7 T, R1 A) A I. Q8 z
: _2 p) T! m3 q1 j l 8 q- U1 k) A. `- I/ e+ C
x% ^1 W8 V$ S1 {1 }+ }
9 ]' d9 a5 _) B. s; J0 Y 6 ?, ?0 M3 E, [: o
4$ L1 G9 l1 K' ?" i& S
4 e* T' I- w6 B, C) X, l* j) ~! |: g . |4 S6 C9 ^, f8 ?1 r |
5 o( a. [! N8 \3 F; { J$ ~( n4 J$ n
= % J7 q$ ~8 b$ V l' t 3 X+ X( W% s o+ q
) G7 R" j# u; @( E# T7 Z" I2 w 1.64102564 $ c3 }* \7 n! a9 y I: s# s M) f( P8 Q \. N" L% v % Q; d; G9 T: a$ P- P
3 e! J! c7 y% E7 v x_1=9.41025641,x_2=5.17948718,x_3=-0.25641026,x_4=1.64102564* p/ ]$ Q' ]* a( R. I% c
( q5 I- V0 s8 Z ; _$ x% F0 G1 [3 k/ S) q" Q) L
x1?=9.41025641,x2?=5.17948718,x3?=?0.25641026,x4?=1.64102564 目标函数取最大值最大值为 3 g3 d, M* p- h $ ] x* {: |1 t3 t3 o) \
! V1 R. O+ W% m) o8 c3 E- [
% a5 V+ t- k5 B2 d- u: f5 A 6 n" q$ v$ a/ l# D# ]+ T- ]; X 505.97435889013434 0 A8 o7 ?/ }! W- T" A 0 `4 S, N3 n7 G3 I
3 Q2 C% D- _0 n; ~* ]1 D9 B I! k % t$ _2 ]$ x2 [) f4 S 505.97435889013434 3 E* c% V( [; Z- y - E6 X- j. ^$ l4 ? # `& X* A; c- N
505.97435889013434. 4 N4 h1 G& S) }$ p5 _" f' Y ; n% a6 x# @( l" [ $ X# I) R# L: S 注意将最大值优化问题转换为最小值优化问题时结果要再取反" ^2 ~* f7 q/ t
, y9 N9 }+ {6 K7 u! Z, l
* x/ t( ^# X- ~& S 5 D! `3 a7 _% s# {" y2 X8 B参考文献 ! P. S0 I( V; |2 J: x) ]4 M/ t0 m 1 A' P: w$ O& [