Zuordnungsproblem - Optimierung

Neue Frage »

soern6 Auf diesen Beitrag antworten »
Zuordnungsproblem - Optimierung
Hallo,

wir beschäftigen uns momentan mit der Erstellung eines Zuodnungsmodells. Hierbei geht es darum, dass es y Nachfrager mit der Präferenz 1 bis 3 gibt, während y Anbieter den Dienst mit der Präferenz 1 bis 3 nachfragen. Sagen wir 1-3 bedeutet dabei, dass es sich um Zeitspannen für den Einsatz von Putzkräften handelt.
Grundsätzlich lässt sich das ganze wohl am besten über eine Minimierung und eine Binärvariable lösen. Zudem haben wir noch gesagt, dass jeder Anbieter zugeordnet werden soll und der Bedarf gedeckt wird. Unser für die Implementierung erstelltes Modell sieht wie folgt aus:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:

set      n       Anbieter
          d       Nachfrager;

parameter
         c(n)    Kapazitaet der Anbieter(Zeitfenster)
         b(d)    Bedarf des Nachfragers(Zeitfenster)
         m(n,d) Match Anbieter n und Nachfrager d

         r(n)      Ranking der Anbieter(Noten)
         qr(d)    Gefragtes Ranking des Nachfragers(Noten)
         rm(n,d) Rankingmatch Nachfrager Anbieter

         sq(n)   Angebotene Qualifikationen der Nanny
         dq(d)   Nachgefragte Qualifikationen der Nachfrager
         qm(n,d) Qualifikationenmatch Nanny n und Nachfrager d;

variables
         Z       Zielfunktionswert;

binary variable
         x(n,d)  gleich 1 wenn Anbieter n Nachfrager d zugeordnert ;

Equations
Zielfunktion         Das ist die Zielfunktion
Zuordnung(d)         Zuordnung der Anbieter
Bed_Na(n)            Bedarf des Nachfrager;


Zielfunktion..
     Z =e= sum((n,d),x(n,d)*m(n,d)*rm(n,d)*qm(n,d));

Zuordnung(d)..
         sum(n, x(n,d)) =e= 1;

Bed_Na(n)..
         sum(d, b(d)*x(n,d)) =l= c(n);

model Versuch /all/;

$include "Versuch.inc";

solve Versuch using mip minimizing Z;

display x.l;



Bis jetzt haben wir nur Präferenzen abgebildet. D.h. man sagt ich will einen Anbieter für Arbeit in Zeitspanne 1 und die Note soll eine 2 sein. Das ganze wird minimiert und so gut es geht gelöst. Bei mehreren Anbietern erfolgt die Zuordnung nun optimal. Ist das soweit richtig?

Wie sieht es nun aus, wenn wir sowas einbauen wollen wie: Unser Anbieter muss Erfahrung haben. Hat er keine, so taugt er für den Job nicht und ist raus
Hat er Erfahrung, so fragen wir im weiteren Schritt nun die Art der Erfahrung ab: Beruflich, Zusatzscheine oder persönliche Erfahrung, wie es oben bereits steht.

Fall eins schreit ja nach einer Binärvariable. Nur wie bilden wir diese im Modell ab und lassen dann noch die Auswahl der Qualifikation zu, wir wollen ja weiterhin minimieren...

Vielen Dank schonmal im Voraus, ich hoffe, dass das ganze als Minimalbeispiel taugt.
Elvis Auf diesen Beitrag antworten »

Habt ihr schon einmal darüber nachgedacht, ob es nicht sinnvoller wäre, Präsidenten zu optimieren anstatt Putzfrauen ?
soern6 Auf diesen Beitrag antworten »

Dass da Raum für Optimierung besteht, ist uns klar, aber vorerst sind die bösen Putzfrauen dran!
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »