运筹学——线性规划Matlab求解

用于线性规划的MATLAB函数主要是linprog

 

线性规划的数学模型

clip_image002

clip_image004

clip_image006

clip_image008

式中 , f、x、b、beq、lb和ub为向量。A 和 Aeq为矩阵。

需要提醒的是, MATLAB中给向量和矩阵的赋值是逐行进行的,行之间用分号“;”隔开,每行元素之间可用 “,”也可用空格隔开,矩阵右上角用符号“'”表示转置运算。

linprog 函数的调用格式如下:

1) [x , fval] = linprog( f , A , b),求解线性规划问题的clip_image002[1],约束条件为clip_image010,同时返回解 x 处的目标函数值fval。

2) [x , fval] = linprog( f, A, b , Aeq , beq ),求解线性规划问题的clip_image002[2],约束条件为clip_image010[1], 但增加等式约束的条件,clip_image006[1];若不等式不存在,则令 A=[]、b= [],同时返回解x 处的目标函数值 fval。

3) [x, fval]=linprog(f , A , b , Aeq, beq , lb, ub),求解线性规划问题的clip_image002[3],约束条件为clip_image010[2]clip_image006[2],并定义变量x 的下界lb和上界ub,使得x 始终在该范围内; 若等式不存在,则令Aeq=[]、beq=[],同时返回解x 处的目标函数值fval。

4) [x , fval] = linprog(f , A, b, Aeq, beq, lb, ub, x0) ,求解线性规划问题的clip_image002[4], 约束条件为clip_image010[3]clip_image006[3],定义变量 x 的下界lb和上界ub,设置初值为x0同时返回解 x 处的目标函数值 fval。

5) [x , fval] = linprog (f , A , b, Aeq, beq, lb, ub, x0, options),求解线性规划问题的clip_image002[5], 约束条件为clip_image010[4]clip_image006[4],定义变量x 的下界lb和上界ub,设置初值为x0。用options 指定的优化参数进行最小化,同时返回解 x 处的目标函数值 fval。

你可能感兴趣的:(matlab)