) a# j2 i3 |/ J5 S" d. _. l对于每一个枚举出的解,计算目标函数值,并检查是否满足所有约束条件。9 h' c9 m6 L# w: o9 S( L
; i) P0 P+ N+ d$ j4 a
#### 5. **选出最优解** . `$ ]2 x n* h4 E% @* u x, J' d2 e+ l) A Z F
在所有满足约束条件的解中,找出目标函数值最优的解,即为所求的最优解。 ; V" t# l' i K, Z $ |. u4 n8 T4 f& F+ }### 示例, S" ] Z2 u" ?. B9 y' t
) s$ V4 W8 v/ c y假设我们有如下整数规划问题: 9 {& l0 \' J' N Z) @$ M& Z& u7 E5 P( w2 K" b9 I
最大化 \( z = 3x_1 + 2x_2 \)! x) Q& R9 K+ E! t
0 m, o3 a/ c% @, j/ L8 G3 J
约束条件: 8 I0 A0 [$ J7 c: t\[ + l+ p3 }7 J( U# Q4 C" \+ N\begin{aligned} $ r; {( P6 O0 B. I6 wx_1 + x_2 & \leq 4 \\ ( R- c& [: o1 q9 K+ S9 ^2x_1 + x_2 & \leq 5 \\ ' A8 H. j+ \8 a9 s) J( \x_1, x_2 & \geq 0 \\6 w; H: ?+ p3 Z- X/ W% m1 @% i# Z
x_1, x_2 & \text{为整数}. ~' x" Z. ]8 x3 P, V0 M: H6 w3 N+ D
\end{aligned} : C( Y @ _" |5 Z- A\] ' g& I$ G% e- o2 K( ]4 n ; U7 c T$ P6 k1 ^0 Q**步骤**: 6 ^" ~% d! X5 k6 \" |3 z1 T1 g9 v1 T3 f, {& _
1. **列出解**:! u1 f% k3 ~5 n- n
- \( (0,0), (0,1), (0,2), (0,3), (0,4) \) & R# F: Y$ c+ t: P2 X) u# ^( D - \( (1,0), (1,1), (1,2), (1,3), (2,0), (2,1) \). P7 `! {. H- `2 z5 e
- \( (2,2), (2,3), (3,0), (3,1), (4,0) \) 2 n( B* n' W0 V \+ C $ e$ P G$ S; b) ?/ e2. **计算目标函数**:' D; W0 p8 s/ V b
- \( (0,0): z=0 \) k5 |6 C- K+ Z( ^* X
- \( (0,1): z=2 \) 4 |& f h' h/ A' C: G1 b - \( (1,0): z=3 \)2 G! `! Y% B6 R. |
- \( (1,1): z=5 \) . I p8 M7 _. x& d. G+ w 2 a. u4 U5 S- t# p |5 s8 J ... 继续计算其余的解。0 \7 j# T+ z0 L. E
) k% p! ?9 i, ~5 h ^ G6 X/ s3. **验证约束**:检查每个解是否满足约束。0 Q3 A) A+ u9 S* P+ E
! N( V* T k4 C' K
4. **找出最优解**:4 E% m5 c. h6 b- t7 Z
- 如果 \( (2,1) \) 得到的目标值是最高的,且满足所有约束,那么它就是最优解。1 @2 t6 _5 D( H# l
% D% u) e+ P8 J O3 g### 注意事项$ G1 K8 a7 J* Q' b3 u
* |7 \9 ~) v4 v- **效率问题**:对于大规模问题,枚举法的计算复杂度会迅速上升,导致不实用。因此,实际应用中通常借助其他优化算法(如分支限界法、动态规划等)结合整数规划求解。# J$ n5 z/ `7 i# c' @7 v) g
" D& @/ ]+ l+ ~- **问题规模**:枚举法适用于变量和约束较少的小规模整数规划问题。对于更复杂的问题,则需要使用更高效的算法。 6 D$ Z/ }0 t( j' o 6 K0 B/ C: L8 q8 C* H! ~5 F" O/ @( W$ ?通过这些步骤,枚举法可以帮助求解简单的整数规划问题,找到最优解。 $ Q- E* P1 T8 L. t 3 y' D8 O; i' }7 r 6 u3 M9 i9 P @4 q # ?- B R8 I# O9 m9 `4 u) Z9 w. W8 P; ^9 w7 Z
3 K" S, Y% ^+ y" u- I: ?3 q2 m
3 K: G4 [7 ~% _2 s t