主要内容

理性目标函数,基于问题

基于问题的优化方法包括创建优化变量,并用这些变量表示目标和约束。

有理函数是多项式的商。当目标函数是优化变量的有理函数或其他支持函数时,可以直接从变量中创建目标函数表达式。金宝app相反,当目标函数不是一个受支持的函数时,必须创建一个MATLAB®函数来表示目标,然后通过使用将函数转金宝app换为表达式fcn2optimexpr.看到金宝app支持优化变量和表达式的操作将非线性函数转换为优化表达式

例如,写目标函数

f x - y 2 4 + x + y 4 x + y 2 1 + y 2

用两个优化变量表示xy

x = optimvar (“x”);y = optimvar (“y”);f = (x - y) ^ 2 / (4 + (x + y) ^ 4) * (x + y ^ 2) / (1 + y ^ 2);

为求目标函数的最小值,建立一个优化问题f作为目标,设定一个起始点,然后调用解决

概率= optimproblem (“目标”f);x0。x=-1; x0.y = 1; [sol,fval,exitflag,output] = solve(prob,x0)
使用fminunc解决问题。局部最小值。由于梯度的大小小于最优性公差的值,优化完成。
索尔=结构体字段:X: -2.1423 y: 0.7937
fval = -1.0945
exitflag = OptimalSolution
输出=结构体字段:firstderopt: 1.4999e-07 algorithm: '拟牛顿' message: '…objective - derivative:“reverse-AD”求解器:“fminunc”

退出标志表明报告的解决方案是局部最小值。输出结构表明,求解器只需要30次函数求值即可达到最小值。

另请参阅

相关的话题