Cplex c ++ mehrdimensionale Entscheidungsvariable

Ich bin neu in der Verwendung von cplex und versuche, Informationen im Internet zu finden, habe aber keine klaren Informationen gefunden, die mir bei meinem Problem helfen könnten.

Ich habe P [k] k wird gleich 1 bis 4 sein

und ich habe eine Entscheidungsvariable x [i] [k] muss gleich 0 oder 1 sein (auch p [k])

Das i liegt zwischen 1 und 5

Im Moment mag ich das

  IloEnv env;
  IloModel model(env);
  IloNumVarArray p(env);
  p.add(IloNumVar(env, 0, 1));
  p.add(IloNumVar(env, 0, 1));
  p.add(IloNumVar(env, 0, 1));
  IloIntVar x(env, 0, 1);

  model.add(IloMaximize(env, 1000 * p[1] + 2000 * p[2] + 500 * p[3] + 1500 * p[4]));

   for(int k = 1; k <= 4; k++){
    for(int i = 1; i <= 5; i++){
      model.add(x[i][k] + x[i][k] + x[i][k] + x[i][k] + x[i][k] => 2 * p[k]; );
    }}

Die Schleife sollte ungefähr so ​​aussehen:

x [1] [1] + x [2] [1] + x [3] [1] + x [4] [1] + x [5] [1] => 2 · p [1];

x [1] [2] + x [2] [2] + x [3] [2] + x [4] [2] + x [5] [2] => 2 · p [2];

x [1] [3] + x [2] [3] + x [3] [3] + x [4] [3] + x [5] [3] => 2 · p [3];

x [1] [4] + x [2] [4] + x [3] [4] + x [4] [4] + x [5] [4] => 3 · p [4];

aber von diesem ergebnis bin ich weit entfernt.

Hat jemand eine Idee?

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage