主要内容

Uso de matemáticas simbólicas con优化工具箱™求解器

En este ejemplo se muestra cómo utilizar las funciones de la caja de herramientas matemática simbólica™y proporcionar derivados analíticos a los solucionadores de optimización。雅可比矩阵matlabFunction优化工具箱™los solucionadores suelen ser más精确的效率,我们可以使用梯度和函数,我们可以使用restricción。

所有的变量都考虑cálculos simbólicos和optimización的函数:

  1. optimización的对象是restricción的函数,我们在términos定义一个向量。x罪恶的禁运,作为变量simbólicas的儿子的英勇的完成,没有价值的向量。这就需要向量的中心。

  2. 当我们在optimización上退化时,当我们在hessiano上退化时,我们可以计算在restricción上的目标函数的变化。值得注意的是,我们要将以下文件simbólico o hessian debe colocarse en el lugar abarityado en función objetivo o restricción o el manejador de función。

  3. 计算器对hessianos进行梯度运算。请注意,我们应该认识到cálculo是唯一的一位,código是唯一的一位,través是唯一的一位,ejecución是唯一的一位。matlabFunction

  4. La evaluación de expresiones simbólicas con La función多消费时间。潜艇这对我们很有效。matlabFunction

  5. 属código依赖于orientación。matlabFunction要把它定义为función客观的列向量,把它定义为变量的列向量simbólicas。fminconmatlabFunction

基本知识:minimización罪的限制

La función objtivo a minimizar es:

<数学显示= "块" >
< mrow >
< mi >f< / mi >
<莫弹性= " false " >< / mo >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
<莫>< / mo >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msub >
<莫弹性= " false " >< / mo >
<莫>< / mo >
< mi mathvariant =“正常”>日志< / mi >
< mrow >
<莫>< / mo >
< mn >1< /锰>
<莫>+< / mo >
< mn >3.< /锰>
< msup >
< mrow >
<莫>< / mo >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msub >
<莫>-< / mo >
<莫弹性= " false " >< / mo >
< msubsup >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< mrow >
< mn >3.< /锰>
< / mrow >
< / msubsup >
<莫>-< / mo >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
<莫弹性= " false " >< / mo >
<莫>< / mo >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msup >
<莫>+< / mo >
<莫弹性= " false " >< / mo >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
<莫>-< / mo >
< mn >4< /锰>
<莫>/< / mo >
< mn >3.< /锰>
< msup >
< mrow >
<莫弹性= " false " >< / mo >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msup >
<莫>< / mo >
< / mrow >
<莫>< / mo >
< / mrow >
数学> < /

Esta función es positiva, con un valor mínimo único de cero alcanzado en = 4/3, =(4/3) ^ 3-4/3 = 1,0370…x1x2

对于独立的变量,我们可以使用变量simbólicas。x1x2向量se escribirían y的Como分量。xx (1)x (2)这里是función,这里是我们的房子。

信谊x1x2真正的x(x1x2);符号变量f = log(1 + 3*(x2 - (x1^3 - x1))^2 + (x1 - 4/3)^2)
f =
<数学显示= "块" >
< mrow >
< mi >日志< / mi >
< mrow >
< mrow >
<莫>< / mo >
< mrow >
< mrow >
< mrow >
< msup >
< mrow >
< mfenced近=”)“开放= " (" >
< mrow >
< mrow >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
<莫>-< / mo >
< mrow >
< mfrac >
< mrow >
< mn >4< /锰>
< / mrow >
< mrow >
< mn >3.< /锰>
< / mrow >
< / mfrac >
< / mrow >
< / mrow >
< / mrow >
< / mfenced >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msup >
< / mrow >
<莫>+< / mo >
< mrow >
< mn >3.< /锰>
<莫> < / mo >
< mrow >
< msup >
< mrow >
< mfenced近=”)“开放= " (" >
< mrow >
< mrow >
<莫>-< / mo >
< mrow >
< msup >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
< mrow >
< mn >3.< /锰>
< / mrow >
< / msup >
< / mrow >
<莫>+< / mo >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
<莫>+< / mo >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msub >
< / mrow >
< / mrow >
< / mrow >
< / mfenced >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msup >
< / mrow >
< / mrow >
<莫>+< / mo >
< mn >1< /锰>
< / mrow >
< / mrow >
<莫>< / mo >
< / mrow >
< / mrow >
< / mrow >
数学> < /
fsurf (f (2 - 2),“ShowContours”“上”38)视图(127)

计算f的梯度y hessian:

gradf =雅可比矩阵(f (x)。%列gradf
gradf =
<数学显示= "块" >
< mrow >
< mtable columnalign = "左" >
<地铁>
< mtd >
< mrow >
< mrow >
<莫>< / mo >
< mtable >
<地铁>
< mtd >
< mrow >
<莫>-< / mo >
< mrow >
< mfrac >
< mrow >
< mrow >
< mn >6< /锰>
<莫> < / mo >
< mfenced近=”)“开放= " (" >
< mrow >
< mrow >
< mrow >
< mn >3.< /锰>
<莫> < / mo >
< mrow >
< msup >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msup >
< / mrow >
< / mrow >
<莫>-< / mo >
< mn >1< /锰>
< / mrow >
< / mrow >
< / mfenced >
<莫> < / mo >
< mfenced近=”)“开放= " (" >
< mrow >
< mrow >
<莫>-< / mo >
< mrow >
< msup >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
< mrow >
< mn >3.< /锰>
< / mrow >
< / msup >
< / mrow >
<莫>+< / mo >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
<莫>+< / mo >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msub >
< / mrow >
< / mrow >
< / mrow >
< / mfenced >
< / mrow >
<莫>-< / mo >
< mrow >
< mn >2< /锰>
<莫> < / mo >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
< / mrow >
<莫>+< / mo >
< mrow >
< mfrac >
< mrow >
< mn >8< /锰>
< / mrow >
< mrow >
< mn >3.< /锰>
< / mrow >
< / mfrac >
< / mrow >
< / mrow >
< mrow >
< msub >
< mrow >
< mi >σ< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
< / mfrac >
< / mrow >
< / mrow >
< / mtd >
< /地铁>
<地铁>
< mtd >
< mrow >
< mfrac >
< mrow >
<莫>-< / mo >
< mrow >
< mn >6< /锰>
<莫> < / mo >
< mrow >
< msup >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
< mrow >
< mn >3.< /锰>
< / mrow >
< / msup >
< / mrow >
< / mrow >
<莫>+< / mo >
< mrow >
< mn >6< /锰>
<莫> < / mo >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
< / mrow >
<莫>+< / mo >
< mrow >
< mn >6< /锰>
<莫> < / mo >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msub >
< / mrow >
< / mrow >
< / mrow >
< mrow >
< msub >
< mrow >
< mi >σ< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
< / mfrac >
< / mrow >
< / mtd >
< /地铁>
< / mtable >
<莫>< / mo >
< / mrow >
< / mrow >
< / mtd >
< /地铁>
<地铁>
< mtd >
< mrow >
< mi > < / mi >
< / mrow >
< / mtd >
< /地铁>
<地铁>
< mtd >
< mrow >
< mi mathvariant =“正常”>在哪里< / mi >
< / mrow >
< / mtd >
< /地铁>
<地铁>
< mtd >
< mrow >
< mi > < / mi >
< / mrow >
< / mtd >
< /地铁>
<地铁>
< mtd >
< mrow >
< mi mathvariant =“正常”> < / mi >
< mrow > < / mrow >
< mrow >
< mrow >
< msub >
< mrow >
< mi >σ< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
<莫>< / mo >
< mrow >
< mrow >
< msup >
< mrow >
< mfenced近=”)“开放= " (" >
< mrow >
< mrow >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
<莫>-< / mo >
< mrow >
< mfrac >
< mrow >
< mn >4< /锰>
< / mrow >
< mrow >
< mn >3.< /锰>
< / mrow >
< / mfrac >
< / mrow >
< / mrow >
< / mrow >
< / mfenced >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msup >
< / mrow >
<莫>+< / mo >
< mrow >
< mn >3.< /锰>
<莫> < / mo >
< mrow >
< msup >
< mrow >
< mfenced近=”)“开放= " (" >
< mrow >
< mrow >
<莫>-< / mo >
< mrow >
< msup >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
< mrow >
< mn >3.< /锰>
< / mrow >
< / msup >
< / mrow >
<莫>+< / mo >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
<莫>+< / mo >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msub >
< / mrow >
< / mrow >
< / mrow >
< / mfenced >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msup >
< / mrow >
< / mrow >
<莫>+< / mo >
< mn >1< /锰>
< / mrow >
< / mrow >
< / mrow >
< / mtd >
< /地铁>
< / mtable >
< / mrow >
数学> < /
hessf =雅可比矩阵(gradf, x)
hessf =
<数学显示= "块" >
< mrow >
< mtable columnalign = "左" >
<地铁>
< mtd >
< mrow >
< mrow >
<莫>< / mo >
< mtable >
<地铁>
< mtd >
< mrow >
< mrow >
< mfrac >
< mrow >
< mrow >
< mn >6< /锰>
<莫> < / mo >
< mrow >
< msup >
< mrow >
< mfenced近=”)“开放= " (" >
< mrow >
< mrow >
< mrow >
< mn >3.< /锰>
<莫> < / mo >
< mrow >
< msup >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msup >
< / mrow >
< / mrow >
<莫>-< / mo >
< mn >1< /锰>
< / mrow >
< / mrow >
< / mfenced >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msup >
< / mrow >
< / mrow >
<莫>-< / mo >
< mrow >
< mn >36< /锰>
<莫> < / mo >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
<莫> < / mo >
< mfenced近=”)“开放= " (" >
< mrow >
< mrow >
<莫>-< / mo >
< mrow >
< msup >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
< mrow >
< mn >3.< /锰>
< / mrow >
< / msup >
< / mrow >
<莫>+< / mo >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
<莫>+< / mo >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msub >
< / mrow >
< / mrow >
< / mrow >
< / mfenced >
< / mrow >
<莫>+< / mo >
< mn >2< /锰>
< / mrow >
< mrow >
< msub >
< mrow >
< mi >σ< / mi >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msub >
< / mrow >
< / mfrac >
< / mrow >
<莫>-< / mo >
< mrow >
< mfrac >
< mrow >
< msup >
< mrow >
< msub >
< mrow >
< mi >σ< / mi >
< / mrow >
< mrow >
< mn >3.< /锰>
< / mrow >
< / msub >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msup >
< / mrow >
< mrow >
< msup >
< mrow >
< msub >
< mrow >
< mi >σ< / mi >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msub >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msup >
< / mrow >
< / mfrac >
< / mrow >
< / mrow >
< / mtd >
< mtd >
< mrow >
< msub >
< mrow >
< mi >σ< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
< / mtd >
< /地铁>
<地铁>
< mtd >
< mrow >
< msub >
< mrow >
< mi >σ< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
< / mtd >
< mtd >
< mrow >
< mrow >
< mfrac >
< mrow >
< mn >6< /锰>
< / mrow >
< mrow >
< msub >
< mrow >
< mi >σ< / mi >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msub >
< / mrow >
< / mfrac >
< / mrow >
<莫>-< / mo >
< mrow >
< mfrac >
< mrow >
< msup >
< mrow >
< mfenced近=”)“开放= " (" >
< mrow >
< mrow >
<莫>-< / mo >
< mrow >
< mn >6< /锰>
<莫> < / mo >
< mrow >
< msup >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
< mrow >
< mn >3.< /锰>
< / mrow >
< / msup >
< / mrow >
< / mrow >
<莫>+< / mo >
< mrow >
< mn >6< /锰>
<莫> < / mo >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
< / mrow >
<莫>+< / mo >
< mrow >
< mn >6< /锰>
<莫> < / mo >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msub >
< / mrow >
< / mrow >
< / mrow >
< / mrow >
< / mfenced >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msup >
< / mrow >
< mrow >
< msup >
< mrow >
< msub >
< mrow >
< mi >σ< / mi >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msub >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msup >
< / mrow >
< / mfrac >
< / mrow >
< / mrow >
< / mtd >
< /地铁>
< / mtable >
<莫>< / mo >
< / mrow >
< / mrow >
< / mtd >
< /地铁>
<地铁>
< mtd >
< mrow >
< mi > < / mi >
< / mrow >
< / mtd >
< /地铁>
<地铁>
< mtd >
< mrow >
< mi mathvariant =“正常”>在哪里< / mi >
< / mrow >
< / mtd >
< /地铁>
<地铁>
< mtd >
< mrow >
< mi > < / mi >
< / mrow >
< / mtd >
< /地铁>
<地铁>
< mtd >
< mrow >
< mi mathvariant =“正常”> < / mi >
< mrow > < / mrow >
< mrow >
< mrow >
< msub >
< mrow >
< mi >σ< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
<莫>< / mo >
< mrow >
< mrow >
< mfrac >
< mrow >
< mfenced近=”)“开放= " (" >
< mrow >
< mrow >
<莫>-< / mo >
< mrow >
< mn >6< /锰>
<莫> < / mo >
< mrow >
< msup >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
< mrow >
< mn >3.< /锰>
< / mrow >
< / msup >
< / mrow >
< / mrow >
<莫>+< / mo >
< mrow >
< mn >6< /锰>
<莫> < / mo >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
< / mrow >
<莫>+< / mo >
< mrow >
< mn >6< /锰>
<莫> < / mo >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msub >
< / mrow >
< / mrow >
< / mrow >
< / mrow >
< / mfenced >
<莫> < / mo >
< mrow >
< msub >
< mrow >
< mi >σ< / mi >
< / mrow >
< mrow >
< mn >3.< /锰>
< / mrow >
< / msub >
< / mrow >
< / mrow >
< mrow >
< msup >
< mrow >
< msub >
< mrow >
< mi >σ< / mi >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msub >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msup >
< / mrow >
< / mfrac >
< / mrow >
<莫>-< / mo >
< mrow >
< mfrac >
< mrow >
< mrow >
< mn >18< /锰>
<莫> < / mo >
< mrow >
< msup >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msup >
< / mrow >
< / mrow >
<莫>-< / mo >
< mn >6< /锰>
< / mrow >
< mrow >
< msub >
< mrow >
< mi >σ< / mi >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msub >
< / mrow >
< / mfrac >
< / mrow >
< / mrow >
< / mrow >
< / mrow >
< / mtd >
< /地铁>
<地铁>
< mtd >
< mrow >
< mi > < / mi >
< / mrow >
< / mtd >
< /地铁>
<地铁>
< mtd >
< mrow >
< mi mathvariant =“正常”> < / mi >
< mrow > < / mrow >
< mrow >
< mrow >
< msub >
< mrow >
< mi >σ< / mi >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msub >
< / mrow >
<莫>< / mo >
< mrow >
< mrow >
< msup >
< mrow >
< mfenced近=”)“开放= " (" >
< mrow >
< mrow >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
<莫>-< / mo >
< mrow >
< mfrac >
< mrow >
< mn >4< /锰>
< / mrow >
< mrow >
< mn >3.< /锰>
< / mrow >
< / mfrac >
< / mrow >
< / mrow >
< / mrow >
< / mfenced >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msup >
< / mrow >
<莫>+< / mo >
< mrow >
< mn >3.< /锰>
<莫> < / mo >
< mrow >
< msup >
< mrow >
< mfenced近=”)“开放= " (" >
< mrow >
< mrow >
<莫>-< / mo >
< mrow >
< msup >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
< mrow >
< mn >3.< /锰>
< / mrow >
< / msup >
< / mrow >
<莫>+< / mo >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
<莫>+< / mo >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msub >
< / mrow >
< / mrow >
< / mrow >
< / mfenced >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msup >
< / mrow >
< / mrow >
<莫>+< / mo >
< mn >1< /锰>
< / mrow >
< / mrow >
< / mrow >
< / mtd >
< /地铁>
<地铁>
< mtd >
< mrow >
< mi > < / mi >
< / mrow >
< / mtd >
< /地铁>
<地铁>
< mtd >
< mrow >
< mi mathvariant =“正常”> < / mi >
< mrow > < / mrow >
< mrow >
< mrow >
< msub >
< mrow >
< mi >σ< / mi >
< / mrow >
< mrow >
< mn >3.< /锰>
< / mrow >
< / msub >
< / mrow >
<莫>< / mo >
< mrow >
< mrow >
< mn >6< /锰>
<莫> < / mo >
< mfenced近=”)“开放= " (" >
< mrow >
< mrow >
< mrow >
< mn >3.< /锰>
<莫> < / mo >
< mrow >
< msup >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msup >
< / mrow >
< / mrow >
<莫>-< / mo >
< mn >1< /锰>
< / mrow >
< / mrow >
< / mfenced >
<莫> < / mo >
< mfenced近=”)“开放= " (" >
< mrow >
< mrow >
<莫>-< / mo >
< mrow >
< msup >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
< mrow >
< mn >3.< /锰>
< / mrow >
< / msup >
< / mrow >
<莫>+< / mo >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
<莫>+< / mo >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msub >
< / mrow >
< / mrow >
< / mrow >
< / mfenced >
< / mrow >
<莫>-< / mo >
< mrow >
< mn >2< /锰>
<莫> < / mo >
< mrow >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
< / mrow >
< / mrow >
<莫>+< / mo >
< mrow >
< mfrac >
< mrow >
< mn >8< /锰>
< / mrow >
< mrow >
< mn >3.< /锰>
< / mrow >
< / mfrac >
< / mrow >
< / mrow >
< / mrow >
< / mrow >
< / mtd >
< /地铁>
< / mtable >
< / mrow >
数学> < /

如果你想要一个向量x y,可以在opción建立它,也可以在opción建立它,可以把它列出来。fminuncSpecifyObjectiveGradient真正的HessianFcn“目标”(f (x), gradf (x) hessf (x))

这是一份完整的清单。matlabFunctionAdemás, utilizdo la opción,接受entradas vectoriales。varmatlabFunction

跳频= matlabFunction (f, gradf hessf,“var”, {x});

Ahora result el problem de minimización comenzando en el punto [- 1,2]:

选择= optimoptions (“fminunc”...“SpecifyObjectiveGradient”,真的,…“HessianFcn”、“客观”,……“算法”、“信赖域”,…“显示”、“最后”);[xfinal, fval exitflag、输出]= fminunc (fh、[1,2]选项)
局部最小值。Fminunc之所以停止,是因为函数值相对于初始值的最终变化小于函数的容差值。
xfinal =2×11.3333 - 1.0370
fval = 7.6623 e-12
exitflag = 3
输出=结构体字段:第一个迭代:3.4391e-05 algorithm: 'trust-region' message: '…“constrviolation: []

比较一下número de iteraciones和ningún降解或información de hessian。这需要算法。“拟牛顿”

选择= optimoptions (“fminunc”“显示”“最后一次”“算法”“拟牛顿”);fh2中= matlabFunction (f,“var”, {x});% fh2 = objective with no gradient or Hessian [xfinal,fval,exitflag,output2] = fminunc(fh2,[-1;2],options)
局部最小值。Fminunc停止是因为它不能沿当前搜索方向减小目标函数。
xfinal =2×11.3333 - 1.0370
fval = 7.9714 e-14
exitflag = 5
output2 =结构体字段:firstderopt: 4.0233e-06 algorithm: '拟牛顿' message: '…'

El número de iteraciones es menor cuando se gradienty hessianos, y hay dramáticamente menaciones evaluaciones de funciones:

sprintf ([“使用渐变有%d次迭代”...和黑森,但没有他们。'],……output.iterations output2.iterations)
ans = '使用梯度和Hessian有14次迭代,但没有它们有20次。'
sprintf ([“使用梯度进行了%d函数评估”...和黑森,但没有他们。'],……output.funcCount output2.funcCount)
ans = '使用梯度和Hessian进行了15次函数评估,但没有使用它们的有99次。'

第二名:minimización限制内部的中间算法

考虑到我们的法律条文función客观公正,但我们的法律条文没有限制:

<数学显示= "块" >
< mrow >
< mn >5< /锰>
< mi mathvariant =“正常”>sinh< / mi >
<莫弹性= " false " >< / mo >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msub >
<莫>/< / mo >
< mn >5< /锰>
<莫弹性= " false " >< / mo >
<莫>< / mo >
< msubsup >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< mrow >
< mn >4< /锰>
< / mrow >
< / msubsup >
< / mrow >
数学> < /

<数学显示= "块" >
< mrow >
< mn >5< /锰>
< mi mathvariant =“正常”>双曲正切< / mi >
<莫弹性= " false " >< / mo >
< msub >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >1< /锰>
< / mrow >
< / msub >
<莫>/< / mo >
< mn >5< /锰>
<莫弹性= " false " >< / mo >
<莫>< / mo >
< msubsup >
< mrow >
< mi >x< / mi >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msubsup >
<莫>-< / mo >
< mn >1< /锰>
<莫>< / mo >
< / mrow >
数学> < /

Las restricciones mantienen la optimización alejada del punto mínimo global[1.333, 1.037]。视觉上的限制:

(X, Y) = meshgrid (2: .01:3);Z = (5*sinh(y /5) >= X.^4);% Z=1,满足第一个约束时,Z=0,否则Z= Z+ 2*(5*tanh(X./5) >= y ^2 - 1;% Z=2,其中第二个是满意的,Z =3,其中两个都是surf(X,Y,Z,'LineStyle','none');无花果= gcf;fig.Color = ' w ';%白色背景视图(0,90)保持在plot3(。43.96, .0373, 4,'o','MarkerEdgeColor','r','MarkerSize',8); % best point xlabel('x') ylabel('y') hold off

Trazamos un pequeño círculo rojo already dedor del punto óptimo。

Aquí hay una trama de la función objetiva sobre región factible, la región que satisface ambas restricciones, en la foto de arriba en rojo oscuro, junto con un pequeño círculo rojo已经rededor del punto óptimo:

W = log(1 + 3) *(Y - (X ^3 - X))^2 + (x - 4/3) ^2;% W =目标函数W(Z < 3) = nan;% plot only where the constraints are satisfied surf(X,Y,W,'LineStyle','none');视图(68,20)保持plot3(。43.96, .0373, .8152,'o','MarkerEdgeColor','r', ... 'MarkerSize',8); % best point xlabel('x') ylabel('y') zlabel('z') hold off

对于这些限制,我们不能用公式来描述。c (x) < = 0Calculamos todas las restricciones simbólicas y sus derivados, y las colocamos en an manejador de funciones utilization。matlabFunction

列向量的限制条件的退化;在función的对象中有一个矩阵,在这个矩阵的列中有一个矩阵表示这个矩阵的退化función de restricción。它是transposición的形式,它是transposición a continuación的形式。雅可比矩阵

科洛卡莫斯不限制在función上的任何身份。但是,我们不能用直线来限制我们的行为。fmincon[c ceq gradc gradceq]我不知道她是谁,我不知道她是谁,我知道她是谁。[]量表信gradceq

C1 = x1^4 - 5*sinh(x2/5);C2 = x2^2 - 5*tanh(x1/5) - 1;C = [c1 c2];gradc =雅可比矩阵(c、x) ';%转置to put in correct form constraint = matlabFunction(c,[],gradc,[],'vars',{x});

内部的算法要求我们función的黑体描述如下:función分离,然后从función客观的角度描述。因此,我们不能把线性的限制包括在内。黑森就是拉格朗日的黑森;请咨询guía del usuario para obtener más información。

我们可以这样论证:向量posición y是拉格朗日乘数结构的lambda。x结构的一部分是利用这些限制,没有线性关系。lambda.ineqnonlinlambda.eqnonlin实际情况是,没有直线,但我们有很多乘数。lambda.ineqnonlin (1)lambda.ineqnonlin (2)

首先,我们来计算一下我们的目标。我们计算的是restricción的函数,我们计算的是función的函数。matlabFunction

hessc1 =雅可比矩阵(gradc (: 1), x);% constraint = first c column hessc2 =雅可比矩阵(gradc(:,2),x);hessfh = matlabFunction (hessf、“var”{x});hessc1h = matlabFunction (hessc1、“var”{x});hessc2h = matlabFunction (hessc2、“var”{x});

如果你是最后的黑手,那你就是最后的黑手,añadiendo你是拉格朗日的倍数,你就是最后的restricción。

Myhess = @(x,lambda)(hessfh(x) +...lambda.ineqnonlin (1) * hessc1h (x) +…lambda.ineqnonlin (2) * hessc2h (x));

我们可以使用内部的算法,把它降级,在función的目标中,把降级的目标降级,把它降级:

选择= optimoptions (“fmincon”...“算法”,“内点”,…“SpecifyObjectiveGradient”,真的,…“SpecifyConstraintGradient”,真的,…HessianFcn, myhess,……“显示”、“最后”);% fh2 = objective without Hessian fh2 = matlabFunction(f,gradf,'vars',{x});[xfinal, fval exitflag、输出]= fmincon (fh2中,[1,2],…[],[],[],[],[],[], 约束,选项)
找到满足约束条件的局部最小值。优化完成是因为目标函数在可行方向上不减小到最优性公差的值内,约束条件满足到约束公差的值内。
xfinal =2×10.4396 - 0.0373
fval = 0.8152
exitflag = 1
输出=结构体字段:stepsize: 1.9160e-06 algorithm: ' internal -point' firstderopt: 1.9217e-08 cgiterations: 0 message: '…'

有了más,这位朋友意识到,当我们反复地对函数进行评估时,我们可以用下面的方法:

选择= optimoptions (“fmincon”“算法”“内点”...“显示”、“最后”);% fh3 = objective without gradient or Hessian fh3 = matlabFunction(f,'vars',{x});% constraint没有梯度:constraint = matlabFunction(c,[],'vars',{x});[xfinal, fval exitflag output2] = fmincon (fh3,[1, 2],…[],[],[],[],[],[], 约束,选项)
找到满足约束条件的局部最小值。优化完成是因为目标函数在可行方向上不减小到最优性公差的值内,约束条件满足到约束公差的值内。
xfinal =2×10.4396 - 0.0373
fval = 0.8152
exitflag = 1
output2 =结构体字段:迭代:16 funcCount: 51 construct: 0 stepsize: 1.1819e-07 algorithm: 'interior-point' firstderopt: 7.3186e-07 cgiterations: 0 message: '…
sprintf ([“使用渐变有%d次迭代”...“和黑森,但是没有他们。”],……output.iterations output2.iterations)
ans = '使用梯度和Hessian进行了10次迭代,但没有使用它们的迭代为16次。'
sprintf ([“使用梯度进行了%d函数评估”...和黑森,但没有他们。'],……output.funcCount output2.funcCount)
ans = '有13个函数使用梯度和Hessian,但51个不使用它们。'

Limpieza de variables simbólicas

Se suponía que las variables simbólicas utilizadas en este ejemplo eran reales。对于suposición电机的运行空间simbólico,没有足够的消变量。我们应该知道使用的变量是什么

假设((x1, x2),“清楚”

他认为他的朋友可以到我们的网站está vacía

假设((x1, x2))
ans =空符号:1 × 0

特马relacionados