Wolfram Optimierung | Zum Ausprobieren
Wolfram Optimierung | Zum Ausprobieren
Nehmen Sie Änderungen vor und führen Sie jeden Code aus, indem Sie in den Code klicken und die Tastenkombination drücken.
+
Entwürfe modellieren, lösen und analysieren. Wolfram Optimierung bietet ein umfassendes Set von Werkzeugen, um den besten Entwurf zu finden oder die beste Entscheidung unter Berücksichtigung gegebener Nebenbedingungen zu treffen – mit vollständig integrierten Funktionen im Bereich hochautomatisiertes maschinelles Lernen, Statistik, mit sofort berechenbaren eingebauten Daten und mehr.
Lokale oder globale Extrema finden
Lokale oder globale Extrema finden
Plotten Sie eine Funktion, die sowohl globale als auch lokale Extrema hat: |
In[]:=
Plot[+-5,{x,-3,3}]
4
x
3
x
2
x
Suchen Sie nach einem lokalen Minimum in der Nähe von x==1 mit numerischen Methoden: |
In[]:=
FindMinimum[+-5,{x,1}]
4
x
3
x
2
x
Suchen Sie nun mit numerischen Methoden nach einem lokalen Minimum bei 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
Um das Minimum in einem eingeschränkten Bereich zu finden, können auch Beschränkungen angegeben werden: |
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
Ohne einen begrenzten Bereich zielt es darauf ab, globale Minima zu finden und numerische Ergebnisse zu liefern: |
In[]:=
NMinimize[+-5,x]
4
x
3
x
2
x
Visualisieren Sie die gefundenen globalen und lokalen Minima: |
In[]:=
Plot+-5,{x,-3,3},Epilog->
4
x
3
x
2
x
Extrema in höheren Dimensionen finden
Extrema in höheren Dimensionen finden
Die gleiche Funktionalität kann auch in höheren Dimensionen verwendet werden. Definieren Sie eine Zielfunktion und Nebenbedingungen, die in drei Dimensionen visualisiert werden können: |
In[]:=
objective=3Sin[+]-x-2y;constraints=Norm[{x,y}]>=1&&+<=10;
2
x
2
(y-1)
4
x
4
y
Veranschaulichen Sie die Zielfunktion in der eingeschränkten Region: |
regionandobjective=ShowPlot3Dobjective,{x,-2,2},{y,-2,2},AxesLabel{x,y,z},,DiscretizeRegionImplicitRegion[constraints&&z-9,{{x,-2,2},{y,-2,2},z}],
Finden Sie das lokale Minimum der Zielfunktion in der Nähe von (0,1) |
In[]:=
{localmin3D,localminimizer3D}=FindMinimum[objective,{{x,0},{y,1}}]
Ermitteln Sie das globale Minimum der Zielfunktion in der begrenzten Region: |
In[]:=
{globalmin3D,globalminimizer3D}=NMinimize[{objective,constraints},{x,y}]
Visualisieren Sie das gefundene globale Minimum (in rot) und das lokale Minimum (in blau): |
In[]:=
Show[regionandobjective,Graphics3D[{PointSize[Large],Blue,Point[{x,y,localmin3D}]/.localminimizer3D,Red,Point[{x,y,globalmin3D}]/.globalminimizer3D}]]
Eine Zielfunktion unter Beschränkungen minimieren
Eine Zielfunktion unter Beschränkungen minimieren
Definieren Sie Regionen in Form von Nebenbedingungen, Schnittpunkten und eingebauten Formen: |
In[]:=
ℛ
1
,ImplicitRegion[2x-y>=3,{x,y}];
ℛ
2
,ImplicitRegion[2x-y<3,{x,y}];
Visualisieren Sie eine Zielfunktion über den zuvor definierten Regionen: |
In[]:=
ShowPlot3D+,{x,y}∈,,Plot3D+,{x,y}∈,
3
(x+1)
2
(y-1)
ℛ
1
3
(x+1)
2
(y-1)
ℛ
2
Verwenden Sie |
In[]:=
NMinimize[+,{x,y}∈]
3
(x+1)
2
(y-1)
ℛ
1
Verwenden Sie |
In[]:=
{minvalue,minimizer}=Minimize[+,{x,y}∈]
3
(x+1)
2
(y-1)
ℛ
1
Zeigen Sie das gefundene eingeschränkte Minimum zusammen mit der Zielfunktion: |
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
Konvexe Optimierungsaufgaben lösen
Konvexe Optimierungsaufgaben lösen
Definieren Sie zwei implizite Regionen durch Nebenbedingung: |
In[]:=
1
2
x
2
y
2
2
(x-2)
2
(y-1)
Visualisieren Sie die Regionen: |
In[]:=
RegionPlot[{,},{x,-1,3},{y,-1,3},PlotTheme->"Minimal",Axes->False]
1
2
Finden Sie das Punktpaar (einen aus jeder Region), das den Abstand zwischen ihnen minimiert: |
In[]:=
closest2D=ConvexOptimization[Norm[p1-p2],{},{p1∈ImplicitRegion[,{x,y}],p2∈ImplicitRegion[,{x,y}]}]
1
2
Visualisieren Sie das gefundene Punktepaar und den Abstand zwischen ihnen: |
In[]:=
RegionPlot{,},{x,-1,3},{y,-1,3},PlotTheme->"Minimal",Axes->False,Epilog->
1
2
Definieren Sie ohne Aufwand 3D-Regionen mit integrierten Formen: |
In[]:=
1
2
Visualisieren Sie die Form: |
In[]:=
Graphics3D[{,}]
1
2
Finden Sie das Paar von Punkten (einen aus jeder Region), das den Abstand zwischen den beiden minimiert: |
In[]:=
closest3D=ConvexOptimization[Norm[p1-p2],{},{p1∈,p2∈}]
1
2
Visualisieren Sie die gefundenen Punkte mit einer Verbindungslinie: |
In[]:=
Graphics3D[{,,{Red,Thick,Line[{p1,p2}/.closest3D]}}]
1
2
Lösen und visualisieren Sie eine dynamische Version des vorherigen Beispiels: |
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]
Optimale Anpassung zum Glätten von Daten verwenden
Optimale Anpassung zum Glätten von Daten verwenden
Die kürzeste Route ermitteln
Die kürzeste Route ermitteln
Exakte Lösungen für symbolische Optimierungsprobleme finden
Exakte Lösungen für symbolische Optimierungsprobleme finden
Parametrische Lösungen für symbolische Optimierungsprobleme finden
Parametrische Lösungen für symbolische Optimierungsprobleme finden