Académique Documents
Professionnel Documents
Culture Documents
% min f'x
% s.t .(约束条件): Ax<=b
% (等式约束条件): Aeqx=beq
% lb<=x<=ub
linprog 函数的调用格式如下:
x=linprog(f,A,b)
x=linprog(f,A,b,Aeq,beq)
x=linprog(f,A,b,Aeq,beq,lb,ub)
x=linprog(f,A,b,Aeq,beq,lb,ub,x0)
x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)
[x,fval]=linprog(…)
其中:
x=linprog(f,A,b)返回值 x 为最优解向量。
x=linprog(f,A,b,Aeq,beq) 作有等式约束的问题。若没有不等式约束,则令
111
实习指导 --《计量地理学》(徐建华,华东师范大学)
A=[ ]、b=[ ] 。
Options 的参数描述:
Display 显示水平。 选择’off’ 不显示输出;选择’iter’显示每一 步迭代过
程的输出;选择’final’ 显示最终结果。
MaxFunEvals 函数评价的最大允许次数
Maxiter 最大允许迭代次数
TolX x 处的终止容限
exitflag 描述函数计算的退出条件:若为正值,表示目标函数收敛于解 x
处;若为负值,表示目标函数不收敛;若为零值,表示已经达到函数评价或迭
代的最大次数。
lambda 返回 x 处的拉格朗日乘子。它有以下属性:
lambda.lower-lambda 的下界;
lambda.upper-lambda 的上界;
lambda.ineqlin-lambda 的线性不等式;
lambda.eqlin-lambda 的线性等式。
112
实习指导 --《计量地理学》(徐建华,华东师范大学)
下面通过具体的例子来说明:
表 1 不同等级耕地种植不同作物的单产(单位:kg / hm2)
I 等耕地 II 等耕地 III 等耕地
水稻 11000 9500 9000
大豆 8000 6800 6000
玉米 14000 12000 10000
第 i 种作物在第 j 等级的耕地上的种植面积。):
表2 作物计划种植面积(单位:hm2)
I 等耕地 II 等耕地 III 等耕地
大豆 x 21 x 22 x 23
约束方程如下:
⎧x 11 + x 21 + x 31 ≤ 100
⎪
⎨x 12 + x 22 + x 32 ≤ 300
⎪x + x + x ≤ 200
耕地面积约束: ⎩ 13 23 33
113
实习指导 --《计量地理学》(徐建华,华东师范大学)
x ij ≥ 0 (i = 1,2,3; j = 1,2,3)
非负约束:
(1)追求总产量最大,目标函数为:
(2)追求总产值最大,目标函数为:
这些参数中没有的设为空。譬如,
(1)当追求总产量最大时,只要将参数
(2)当追求总产值最大时,将参数
114
实习指导 --《计量地理学》(徐建华,华东师范大学)
115