MATLAB 语言应用
最优化
精选范本
MATLAB 编程线性规划问题
第二章0-1规划 MATLAB 的0-1规划函数bintprog 是针对下述0-1规划: min z = f * x
s.t A* x _ b
(2.1) aeq* x = beq
x 二[冷 X 2, |l (X n ],人=0or1,i =12l ()n
解0-1规划(2.1 )的0-1规划函数bintprog 表述为
[x, fv, exitflag, output]= bin tprog (f,A,b,aeq, beq )
( 2.2) 输入部分:
f 为目标函数,实为目标函数的系数。
A 为(2.1)中的不等式约束矩阵
b 为(2.1)中的不等式约束向量
aeq 为(2.1)中的等式约束矩阵
beq ( 2.1)中的等式约束向量
输出部分:
x 为最优解 fval 为最优值
exitflag 为输出标志 exitflag=1,有最优解
exitflag=0,迭代次数超过设定次数 exitflag==-2,约束区域不可行
exitflag=-3,问题无解 output ,表明算法和迭代情况
如果我们不需要了解迭代情况和存储情况,可将
0-1规划函数bintprog 写成 [x, fv, ex]= lin prog (f,A,b,aeq, beq )
( 2.3) 在函数bintprog 中,输入或输出元素的符号可以变更,如( 2.3)中ex 仍为输出标志,但元素的符号 位置不能变更。在输出部分,如有缺者,可用 []号代替。 函数bintprog 的使用要点与函数linprog 的使用要点相同。 函数是为求目标函数的最小值而设置的,
如要求函数的最大值, 可先求出(- f )的最小值fv ,则- fv
必为f 的最大值。