解决优化问题的两种方法:
(1)基于问题的优化方法
(2)基于求解器的优化方法
工具背景梳理
Optimization Toolbox适用的问题类型线性规划 (LP)、混合整数线性规划 (MILP)、二次规划 (QP)、二阶锥规划 (SOCP)、非线性规划 (NLP)、约束线性最小二乘、非线性最小二乘和非线性方程。
(一)基于问题的求解方法
1.特征
(1)以符号形式表示目标和约束
(2)需要从问题形式转换为矩阵形式,从而导致更长的求解时间
(3)在很多情况下自动计算和使用目标和非线性约束函数的梯度,但不计算 Hessian 矩阵
2.例程
(1)基本线性示例
目标:以最少的花费购买到符合标准的材料
步骤
a.表示相关变量
b.表示目标函数和成本函数
c.调用solve求解器
clc all;
%混合整数的线性规划问题
%ingots表示购买钢锭情况,Alloy表示购买废钢情况,Scrap表示某种等级的废钢
% 问题的准备阶段
steelprob = optimproblem;
ingots = optimvar('ingots',4,'Type','Type','integer','LowerBound',0,'UpperBound','1');
alloys = optimvar('alloys',3,'LowerBound',0);
scrap = optimvar(