ipopt_callback_dg.m

来自「matlab波形优化算法经常要用到的matlab toolbox工具箱:yalm」· M 代码 · 共 29 行

M
29
字号
function G = ipopt_callback_dg(x,returnStructOnly,model)

global latest_x_g
global latest_G
global latest_g

if returnStructOnly
    G = sparse(ones(length(model.beq)+length(model.b)+length(model.bnonlineq)+length(model.bnonlinineq),length(model.linearindicies)));
    return
end

x = x(:);
if isequal(x,latest_x_g)
    % Jacobian was computed already in the call for constraints
    G = latest_G;
else
    % Compute the nonlinear terms in the constraints
    [g,geq,dg,dgeq] = fmincon_con(x,model);

    % Append with linear terms
    G = [dg';dgeq'];
    if ~isempty(model.A)
        G = [G;model.A];
    end
    if ~isempty(model.Aeq)
        G = [G;model.Aeq];
    end
    G = sparse(G);
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?