www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Mathematica" - Minimierungsaufgabe
Minimierungsaufgabe < Mathematica < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Mathematica"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Minimierungsaufgabe: Tipp
Status: (Frage) beantwortet Status 
Datum: 13:06 Do 30.11.2006
Autor: Stuttgarter

Aufgabe
b = {1, 1, 1}
A = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}
MatrixForm[b]
MatrixForm[A]
X = Table[x[i], {i, 1, 3}];
Length[X]
f =.
f := (A.X - b).(A.X - b)
g := Total[X]
NMinimize[{f, g == 1, x[1] >=
      0, x[2] >= 0,
        x[3] >= 0}, {x[1], x[2], x[3]}, Method -> {"SimulatedAnnealing"}]

Wenn ich wie oben eingeben, dann liefert Mathematica mir die richtige Lösung.
Jetzt will ich die Nebenbedingungen abkürzen, z.B  x[i],{i,1,3}. Es sieht nun so aus:
Ich habe X in eine Array umgewandelt mit
X = Array[x, 3]
NMinimize[{f, g == 1, X >=0}, X, Method -> {"SimulatedAnnealing"}]

und es kamm immer die Fehlermeldung.Könnte jemand mir erklären warum es hier nicht richtig ist.


und wenn ich

NMinimize[{f, g == 1, X[[1]] >= 0}, X, Method -> {"SimulatedAnnealing"}]

eingeben, wurde auch richtige Lösung geliefert aber allerdings habe ich nur eine Nebenbedingung für x[1]>=0.
Kann man hier auch für andere x[2] und x[3] in der NMinimize einbauen.

Ich bedanke mich im Voraus und freue mich sehr auf Eure Hilfe, ich bin in Eile.

LG
Stuttgarter.

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.




        
Bezug
Minimierungsaufgabe: Antwort
Status: (Antwort) fertig Status 
Datum: 12:00 Fr 01.12.2006
Autor: Martin243

Hallo,

das Problem ist, dass man die [mm] $\ge$-Relation [/mm] nicht auf Lists oder Tables anwenden kann.
Das Einzige, was ich hinbekommen habe, ist die Erzeugung der Nebenbedingungen in einer eigenen Table und Hinzufügen per Flatten:

Y = Table[x[i] >= 0, {i, 1, 3}]
NMinimize[Flatten[{f, g == 1, Y}], X, Method -> {"SimulatedAnnealing"}] 

Ich meine, das Ergebnis sieht genauso aus wie bei deinem Originalaufruf. Überprüf das aber bitte selber nochmal.


Gruß
Martin

Bezug
                
Bezug
Minimierungsaufgabe: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 00:16 Sa 02.12.2006
Autor: Stuttgarter

Hi Martin,

vielen Dank!

es hat funktioniert. Ich habe eine Testberechnung für 300-dimensionale Vektor X durchgeführt und es hat auch geklappt.

Vielen Dank für deine schnelle Antwort und Hilfbereitschaft.

LG

Stuttgarter


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Mathematica"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]