NonLP_minPS
简述
(非线性规划建议统一使用prog_n函数),坐标轮换法求不等式约束问题,初值必须在可行域内!可求解如下问题:

NonLP_minPS(Fun:String;X0:array;A:Array;B:Array;Nonlcon:String):array
名称 | 类型 | 说明 |
---|
Fun | String | 目标函数表达式,为字符串类型; |
x0 | array | 初值向量,为一维数组类型; |
A | Array | 线性矩阵不等式约束,为二维数组类型; |
B | Array | 线性向量不等式约束值,为一维数组类型; |
Nonlcon | String | 非线性约束回调,为字符串类型; |
{线性不等式约束
x[0]+x[1] <= 3;
4*x[0]+x[1]<=9 ; }
A :=ARRAY((1,1),(4,1));
B := array(3,9);
// 初始值S
X0:=array(1,1) ;
//分别设置的变量,约束条件,目标函数的迭代精度;不设置采用默认值
return NonLP_minPS('obj',x0,A,B,'constr');
//目标函数
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非线性不等式约束
return array(ne,e);
end
结果:
Prog_N Fmin NonLP_minSUMT NonLP_minFactor NonLP_Fmincon