manbet体育手机客户端


敏感性..


功能灵敏度(文件名)%2019版权所有2019,Gurobi优化,LLC%%简单的灵敏度分析示例,狗万app足彩其从文件中读取MIP模型%并解决。然后,每个二进制变量都设置为%到1-x,其中x是它在最佳解决方案中的值,并且报告了对目标函数值的影响。%读取模型fprintf('读取模型%s \ n',文件名);model = gurobi_read(文件名);cols = size(model.a,2);ivars = find(model.vtype〜='c');如果长度(ivars)<= 0 fprintf('模型的所有变量是连续的,无什么可以做的\ n');返回;终端%优化结果= Gurobi(型号);%捕获解决方案信息如果结果.Status〜='最佳'fprintf('模型状态为%d,quit \ n',结果.status); end origx = result.x; origobjval = result.objval; params.OutputFlag = 0; % Iterate through unfixed binary variables in the model for j = 1:cols if model.vtype(j) ~= 'B' && model.vtype(j) ~= 'I' continue; end if model.vtype(j) == 'I' if model.lb(j) ~= 0.0 || model.ub(j) ~= 1.0 continue; end else if model.lb(j) > 0.0 || model.ub(j) < 1.0 continue; end end % Update MIP start for all variables model.start = origx; % Set variable to 1-X, where X is its value in optimal solution if origx(j) < 0.5 model.start(j) = 1; model.lb(j) = 1; else model.start(j) = 0; model.ub(j) = 0; end % Optimize result = gurobi(model, params); % Display result if ~strcmp(result.status, 'OPTIMAL') gap = inf; else gap = result.objval - origobjval; end fprintf('Objective sensitivity for variable %s is %g\n', ... model.varnames{j}, gap); % Restore original bounds model.lb(j) = 0; model.ub(j) = 1; end