Mathematisches Modell mit Cplex loesen |
26.08.2015, 13:12 | Saniiii | Auf diesen Beitrag antworten » |
Mathematisches Modell mit Cplex loesen Kann man mit Cplex ein allgemeines mathematischen Modell aufstellen und loesen ohne das Verwenden von Java, C++,... ? Meine Ideen: Ein Problem, das mit allen Parametern gegeben ist, kann mit Cplex geloest werden Folgende TERMINAL-EINGABE liefert ein Ergebnis mit Cplex: enter new problem maximize 12x1-9x2+4x3 subject to 1x1+0x2+4x3 <=5 0x1+0x2+1x3 <= 5 -4x1-7x2+5x3 <=0 -3x1+7x2-4x3 <=-1 1x1+0x2-7x3<=5 -4x1+3x2-1x3<=-3 bounds x1 free x2 free x3 free end optimize display solution variables x1-x3 ABER wir finden keinen Ansatz, um ein allgemeines Modell zu modellieren und dann durch Aenderung von Parametern oefter zu loesen. Wir wollen also eine File.lp erstellen, in der allgemeine Parameter verwendet werden. Hier unser Versuch in OPL: int NbVehicles = ...; int NbCustomers = ...; int NbDepot = ...; int NbVertices = ...; range Vehicles = 1..NbVehicles; range Customers = 1..NbCustomers; range Depot = 0 NbCustomers+1; range Vertices0 = 0..Nb Customers; range VerticesN_1 = 1..NbCustomer+1; range Vertices = 0..NbCustomer+1; int Cost[Vertices][Vertices] = ...; int Capacity = ...; int Demand[Vertices] = ...; dvar boolean x[Vertices][Vertices][Verhicles]; dvar int Load[Vertices][Vehicles]; maximize sum(k in Vehicles, i in Vertices0, j in VerticesN_1) Cost[i][j]*x[i][j][k] subject to { forall(i in Customers) ctConnectivity: sum(k in Vehicles, i in VerticesN_1) x[i][j][k] == 1; forall(k in Vehicles) ctLeavingDepot: sum(j in VerticesN_1) x[0][j][k]== 1; forall(k in Vehicles) ctReturningDepot: sum(i in Vertices0) x[i][NbCustomers+1][k]== 1; forall(k in Vehicles, j in Customers) ctFlowconservations: sum(i in Vertices0) x[i][j][k] - sum(i in VerticesN_1) x[j][i][k] == 0; forall(k in Vehicles, i in Vertices0, j in VerticesN_1) ctRemainingLoad: 0 <= Load[j][k] <= Load[i][k] - Demand[i]* x[i][j][k] + Capacity*(1-x[i][j][k]); forall(k in Vehicles) 0 <= Load[0][k] <= C; end Wir wissen aber auch nicht, wie wir die Daten fuer die Parameter in Form von einer externen Datei mit dieser verknuepfen koennen und diese dann Cplex uebergeben koennen. Kann uns jemand weiterhelfen? Vielen Dank schonmal im Voraus. |
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
|
Die Neuesten » |
|