CPLEX eingebunden in C++ mit Visual Studio 2013: Werteausgabe als Matrix



  • Hallo Leute,

    ich habe eine Frage zur Ausgabe meiner zweidimensionalen binären Entscheidungsvariablen x[i][j]:

    IloArray<IloNumVarArray> x(env, n+1);
    	for (int i = 0; i < n+1; i++) {
    
    		x[i] = IloNumVarArray(env, n+1, 0, 1, ILOBOOL);
    	}
    

    Wie kann ich nach dem Lösen des Problems x[i][j] als Matrix ausgeben lassen, in der Zeilen [i] und Spalten [j] mit dem jeweiligen Werten beschriftet sind?

    Bisher sieht es bei mir so aus:

    IloCplex cplex(env);
    	cplex.extract(model);
    	bool solved = cplex.solve(); 
    
    	if (solved){
    
                cout << endl;
    	    cout << "x[i][j]" << endl;
                for (int i = 0; i < n; i++){
    
    		for (int j = 1; j < n+1; j++){
    
    		   cout << "[" << i << "]" << cplex.getValue(x[i][j]) << " ";
    		}
    
    		cout << endl;
    	    }
    

    Das ergibt zwar als Ausgabe eine Matrix mit den Werten 0 und 1, jedoch muss ich Zeile und Spalte immer abzählen, anstatt dass die jeweiligen Spalten und Zeilen beschriftet sind. Weiß jemand eine bessere Lösung?

    Vielen Dank im Voraus!



  • Dieser Thread wurde von Moderator/in Martin Richter aus dem Forum MFC (Visual C++) in das Forum C++ (alle ISO-Standards) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


  • Mod

    Ich verstehe dein Problem nicht, kannst du das näher erläutern? Wenn du Zeilen- und Spaltennummer mit ausgeben möchtest, dann tu das doch. Derzeit gibst du die Zeile schließlich schon mit aus, was ist das Problem bei den Spalten?


Log in to reply