IPOPT非线性解算器MATLAB使用

1 · · July 29, 2022, 11:24 a.m.
调用IPOPT约束的非线性解算器。 基本的函数调用 [x, info] = IPOPT(x0,funcs,options) 第一个输入是一个矩阵或矩阵的单元数组。它声明求解器的起点。 回调函数 第二个输入必须是包含各种MATLAB例程函数句柄的结构。有关MATLAB中使用函数和函数句柄的更多信息,请在MATLAB提示符中输入HELP function和HELP FUNCTION_HANDLE。 function f = objective (x) (必须) 计算当前点的目标函数。例如,Hock & Schittkowski (H&S)测试问题#71(包含4个优化变量)的目标函数的定义将是 1 2 functionf =objective (x)f = x(1)*x(4)*sum(x(1:3)) + x(3); funcs.gradient (required) (必须) 计算目标在当前点的梯度。它接受一个输入,当前迭代x。对于H&S测试问题#71,梯度回调函数的定义是 1 2 3 4 5 functiong =gradient (x)g = [ x(1)*x(4) +...