{线性不等式约束
x[0]+x[1] <= 3;
4*x[0]+x[1]<=9 ; }
A :=ARRAY((1,1),(4,1));
B := array(3,9);
//线性等式约束
AEQ := ARRAY();
BEQ := ARRAY();
// 初始值
x0:=array(1,1) ;
//分别设置的变量,约束条件,目标函数的迭代精度;不设置采用默认值
Return NonLP_minSUMT('obj',X0,A,B,Aeq,Beq,'constr',"NM");
//目标函数
Function obj(x);
Begin
Return 2*x[0]^2-4*x[0]*x[1]+4*x[1]^2-6*x[0]-3*x[1];
End;
//非线性约束:
function constr(x);
begin
ne := array();
e := array() ;
ne[0]:= x[0]+x[1]^2-5;//x[0]+x[1]^2<5非线性不等式约束
e[0]:=x[1]^2+x[0]^2-4;//x[1]^2=4非线性等式约束
return array(ne,e);
end
结果:
Prog_N Fmin NonLP_minPS NonLP_minFactor NonLP_Fmincon