WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

optimierungsproblem

 

IreneAdler

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.10.2009, 20:39     Titel: optimierungsproblem
  Antworten mit Zitat      
Hallo Leute,

angenommen ich habe mehrere Mitarbeiter. Jeder Mitarbeiter hat seine Kosten und seine Leistung/Stunde. Ich kann über die Mitarbeiter frei verfügen und wenn sie arbeiten dann kosten sie mich was und ansonsten kosten sie nichts. jeder Mitarbeiter leistet stätig seine Effektivität. für jede stunde habe ich einen bestimmten bedarf an Leistung. der bedarf an Leistung muss immer gedeckt sein.

so weit kann ich das alles programmieren. [mache ich mit integer programming; bintprog()]

jetzt das problem:

ich habe einen gewissen kapazitätsfaktor für jeden mitarbeiter vorgegeben. z.B. Mitarbeiter A hat einen kapazitätsfaktor von 0,75. er muss also 0,75 der gesamtstunden arbeiten.


das krieg ich einfach nicht in code formuliert Embarassed kann mit da jmnd helfen? Rolling Eyes


Titus
Forum-Meister

Forum-Meister


Beiträge: 871
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 13.10.2009, 10:10     Titel:
  Antworten mit Zitat      
Hallo,
das müsste doch eine lineare Ungleichung sein, oder? Also der Form A*x<=b. Füge zu A eine Zeile hinzu, in der -1 für alle Variablen "Stunde wird von Arbeiter X gearbeitet", und b muss dann entsprechend -0.75*Gesamtstunden sein (die "-" kommen, damit es eigentlich ein ">=" wird).

Titus
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.10.2009, 23:21     Titel:
  Antworten mit Zitat      
Hallo Titus,

Dein Problem kann mittels "Linear Programming" (google,wikipedia) gelöst werden. Dazu gibt es verscheidene sehr effiziente Algorythmen wie Simplex-Method, Criss-Cross Method, denn grundsätzlich hast du folgendes Problem

maximiere c_T*x (also etwa totale Kosten. x_i=Anzal Stunden die Arbeiter i leistet, c_i = Kosten pro Stunde für Arbeiter i)
subject to A*x<=b (Bedingungen wie z.B.: nicht mehr als 40 Stunden in der woche oder mindestens 0.75 gesammtstunden etc (unendlich !!! viele Bedinungen möglich)

wenn du das nur auf die schnelle und nicht verallgemeinert lösen musst kannst du das z.b. im Excel sehr effizient (mit sehr wenig Aufwand -> solver mit constraints) lösen. Ansonsten einen der Algorythmen implementieren. Wink

Viele Grüsse
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.10.2009, 23:28     Titel:
  Antworten mit Zitat      
hab grade bemerkt, dass Matlab Linear programming auch unterstützt
Code:
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.