Wolfram Optimización | Ejemplos a probar
Wolfram Optimización | Ejemplos a probar
Edite y ejecute cualquier pieza de código haciendo clic dentro del código y presionando .
+
Modele, resuelva y analice diseños. Wolfram Optimización proporciona un conjunto completo de herramientas para encontrar el mejor diseño o realizar la mejor decisión de acuerdo con las restricciones, completamente integrado con aprendizaje automático altamente automatizado, estadística, datos incorporados inmediatamente computables y más.
Encuentre extremos locales o globales
Encuentre extremos locales o globales
Represente una función que posea extremos tanto globales como locales: |
In[]:=
Plot[+-5,{x,-3,3}]
4
x
3
x
2
x
Busque un mínimo local cerca de x1 |
In[]:=
FindMinimum[+-5,{x,1}]
4
x
3
x
2
x
Ahora busque un mínimo local cerca de x-1.8 |
In[]:=
FindMinimum[+-5,{x,-1.8}]
4
x
3
x
2
x
In[]:=
Minimize[+-5,x]
4
x
3
x
2
x
Además se pueden incluir restricciones para encontrar el valor mínimo en un dominio restringido: |
In[]:=
Minimize[{+-5,0<x<2},x]
4
x
3
x
2
x
In[]:=
NMinimize[{+-5,0<x<2},x]
4
x
3
x
2
x
Sin un dominio restringido, busca encontrar mínimos globales y devolver resultados numéricos: |
In[]:=
NMinimize[+-5,x]
4
x
3
x
2
x
Visualice los mínimos global y local encontrados: |
In[]:=
Plot+-5,{x,-3,3},Epilog->
4
x
3
x
2
x
Encuentre extremos en dimensiones superiores
Encuentre extremos en dimensiones superiores
La misma funcionalidad puede utilizarse en dimensiones superiores. Defina una función objetivo y restricciones que pueden visualizarse en tres dimensiones: |
In[]:=
objective=3Sin[+]-x-2y;constraints=Norm[{x,y}]>=1&&+<=10;
2
x
2
(y-1)
4
x
4
y
Visualice la función objetivo sobre la región restringida: |
regionandobjective=ShowPlot3Dobjective,{x,-2,2},{y,-2,2},AxesLabel{x,y,z},,DiscretizeRegionImplicitRegion[constraints&&z-9,{{x,-2,2},{y,-2,2},z}],
Encuentre el mínimo local de la función objetivo cerca de (0,1) |
In[]:=
{localmin3D,localminimizer3D}=FindMinimum[objective,{{x,0},{y,1}}]
Encuentre el mínimo global de la función objetivo en la región restringida: |
In[]:=
{globalmin3D,globalminimizer3D}=NMinimize[{objective,constraints},{x,y}]
Visualice el mínimo global (mostrado en rojo) y el mínimo local (en azul) encontrados: |
In[]:=
Show[regionandobjective,Graphics3D[{PointSize[Large],Blue,Point[{x,y,localmin3D}]/.localminimizer3D,Red,Point[{x,y,globalmin3D}]/.globalminimizer3D}]]
Minimice una función objetivo sujeta a restricciones
Minimice una función objetivo sujeta a restricciones
Defina regiones en términos de restricciones, intersecciones y formas incorporadas: |
In[]:=
ℛ
1
,ImplicitRegion[2x-y>=3,{x,y}];
ℛ
2
,ImplicitRegion[2x-y<3,{x,y}];
Visualice una función objetivo sobre las regiones previamente definidas: |
In[]:=
ShowPlot3D+,{x,y}∈,,Plot3D+,{x,y}∈,
3
(x+1)
2
(y-1)
ℛ
1
3
(x+1)
2
(y-1)
ℛ
2
Use |
In[]:=
NMinimize[+,{x,y}∈]
3
(x+1)
2
(y-1)
ℛ
1
Use |
In[]:=
{minvalue,minimizer}=Minimize[+,{x,y}∈]
3
(x+1)
2
(y-1)
ℛ
1
Muestre el mínimo restringido encontrado junto con la función objetivo: |
In[]:=
ShowPlot3D+,{x,y}∈,,Plot3D+,{x,y}∈,,Graphics3D[{Red,PointSize[Large],Point[{x,y,minvalue}/.minimizer]}]
3
(x+1)
2
(y-1)
ℛ
1
3
(x+1)
2
(y-1)
ℛ
2
Resuelva problemas de optimización convexa
Resuelva problemas de optimización convexa
Defina dos regiones implícitas mediante restricciones: |
In[]:=
1
2
x
2
y
2
2
(x-2)
2
(y-1)
Visualice las regiones: |
In[]:=
RegionPlot[{,},{x,-1,3},{y,-1,3},PlotTheme->"Minimal",Axes->False]
1
2
Encuentre el par de puntos (uno de cada región) que minimiza la distancia entre ellos: |
In[]:=
closest2D=ConvexOptimization[Norm[p1-p2],{},{p1∈ImplicitRegion[,{x,y}],p2∈ImplicitRegion[,{x,y}]}]
1
2
Visualice el par de puntos encontrado y la distancia entre ellos: |
In[]:=
RegionPlot{,},{x,-1,3},{y,-1,3},PlotTheme->"Minimal",Axes->False,Epilog->
1
2
Defina regiones 3D con rapidez usando formas incorporadas: |
In[]:=
1
2
Visualice las formas: |
In[]:=
Graphics3D[{,}]
1
2
Encuentre el par de puntos (uno de cada región) que minimiza la distancia entre los dos: |
In[]:=
closest3D=ConvexOptimization[Norm[p1-p2],{},{p1∈,p2∈}]
1
2
Visualice los puntos encontrados con una línea que los conecta: |
In[]:=
Graphics3D[{,,{Red,Thick,Line[{p1,p2}/.closest3D]}}]
1
2
Resuelva y visualice una versión dinámica del ejemplo anterior: |
In[]:=
Manipulate[shape1=Dodecahedron[{0,0,0},{theta,phi}];shape2=Ellipsoid[{4,0,0},DiagonalMatrix[{2,3,1}]];dynamic3D=ConvexOptimization[Norm[p1-p2],{},{p1∈shape1,p2∈shape2}];Graphics3D[{shape1,shape2,{Red,Thick,Line[{p1,p2}/.dynamic3D]}},PlotRange->{{-1.5,5.5},{-2,2},{-1.4,1.4}}],{{theta,0,"Rotation about Z"},0,2Pi},{{phi,0,"Rotation about Y"},0,2Pi},ControlPlacement->Top,SaveDefinitions->True]
Use el ajuste óptimo para suavizar datos
Use el ajuste óptimo para suavizar datos
Encuentre el camino más corto
Encuentre el camino más corto
Obtenga soluciones exactas para problemas de optimización simbólica
Obtenga soluciones exactas para problemas de optimización simbólica
Obtenga soluciones paramétricas para problemas de optimización simbólica
Obtenga soluciones paramétricas para problemas de optimización simbólica