|
|
Opt. Toolbox - linprog/intlinprig -->Intervall MIT Null |
|
Lara K |
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 10.10.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.10.2014, 13:11
Titel: Opt. Toolbox - linprog/intlinprig -->Intervall MIT Null
|
|
Hallo!
Ich benutze die Funktion intlinprog der Optimierungstoolbox (wobei ich intcon=[] gesetzt habe).
Ich habe mittels lb und ub für x ein Intervall definiert: 0<x<90.
Jetzt würde ich aber sehr gerne erreichen, dass x nur Werte zwischen dem Intervall 10<x<90 EINSCHLIEßLICH der 0 annehmen kann.
Ich möchte nämlich ausschließen, dass x Werte zwischen 0 und 10 annehmen kann, da diese physikalisch keinen Sinn machen. Gibt es irgendeine Möglichkeit, wie ich das realisieren kann? Ich hab in der Hilfe nichts zu dieser Mögluichkeit gefunden.
Vielen Dank!
Lara
|
|
|
|
|
Lara K |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 10.10.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.10.2014, 22:44
Titel:
|
|
Weiss hier jemand weiter?
Wär euch wirklich sehr dankbar darum!
Grüße
Lara
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 14.10.2014, 07:19
Titel:
|
|
Hallo,
wieviele Dimensionen hat dein Problem denn?
Bei kleiner Anzahl Dimensionen ist es wohl am besten, alle Kombinationen von (0, nicht 0) durchzutesten und dafür jeweils die Optimierung durchzuführen.
Wenn du intlinprog mit intcon=[] nimmst, dann kannst du doch gleich linprog nehmen?
Grüße,
Harald
|
|
|
Lara K |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 10.10.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 14.10.2014, 10:31
Titel:
|
|
Danke für deine Antwort.
Mein gesuchter Vektor "x" hat die Dimension 3000x1.
Die Matrix "A" hat die Dimension 10x3000.
Wie meinst du das mit Durchtesten? Meinst du erst die Optimierung durchführen und anschließend den Vektor "x" durchtesten, ob er "0" oder "nicht 0" Einträge hat? Was soll dann geschehen, wenn ein Eintrag z.B. den Wert "3" hat (welcher eigentlich nicht erlaubt) ist?
Stimmt, mit linprog hast du recht, ich werde jetzt linprog statt intlinprog benutzen.
Danke
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 14.10.2014, 19:26
Titel:
|
|
Hallo,
Zitat: |
Wie meinst du das mit Durchtesten? |
Ich meinte z.B. im Falle von 2 Dimensionen
0 0
0 10-90
10-90 0
10-90 10-90
Bei 3000 Dimensionen ist das allerdings ein Ding der Unmöglichkeit.
Die einzige Möglichkeit, die ich sehe:
genetischen Algorithmus (ga) mit den Einstellungen
Als Zielfunktion dann ein linprog mit den Variablen, die 1 sind, und diese Variablen auf lb = 10 und ub = 90 beschränken.
Meine Vermutung / Befürchtung ist, dass das recht zeitintensiv wird.
Ansonsten kann ich nur raten zu googeln, ob es speziell auf diese Problemart ausgerichtete Algorithmen gibt.
Grüße,
Harald
|
|
|
Lara K |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 10.10.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.10.2014, 20:33
Titel:
|
|
Danke für deine Hilfe, Harald!
Ich werde es mal mit dem genetischen Algorithmus versuchen. Werde ihn mir mal näher ansehen, hab bisher noch nicht mit ihm gearbeitet.
lg
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|