2016-06-29 33 views
1

Ich habe einen Code erstellt, der ein gemischtes ganzzahliges lineares Problem (MILP) löst. Um so schnell wie möglich zu sein, verwendet mein Code Cplex-Funktionen, um die MILP, cplexmilp und cplexoptimset zu lösen. Das einzige, was ich auf cplexoptimset gesetzt ist:Warnung cplexlink1261 mit Cplex für Matlab: nicht unterstützte Matlab-Versionen?

options =cplexoptimset ('Display','off'); 

Und als ich laufen:

x = cplexmilp(var1,var2,var3,var4,var5,var6,var7,var8,var9,var10,var11,var12,options) 

Wenn ich den Code ausführen, erhalte ich die Warnung:

Warning: The function 'cplexlink1261' returned an mxArray with non-temporary scope 
In cplexoptimset/secCplexOptions 
In cplexoptimset /setCplexOptions 
In cplexoptimset 
In cplexoptimset 
In myfunction 

Doch nach Diese Warnung, der Code läuft weiter, und es liefert mir Ergebnisse, die vernünftig erscheinen.

Ich surfte im Internet auf der Suche nach einer Antwort, und ich fand, dass der Grund dafür sein kann, dass meine Matlab-Version, 2015b, nicht für Cplex unterstützt wird.

Daher ist meine Frage: Kann ich immer noch die Ergebnisse vertrauen, die ich von der Funktion bekomme? Meine Lösung ist ein binärer Vektor aus Tausenden von Variablen, so dass ich das nicht überprüfen kann. Nichtsdestoweniger bemerkte ich, dass andere Ergebnisse, die aus dem Code abgeleitet wurden, denen ähneln, die ich vor der Verwendung der cplexmilp Funktion aufgezeichnet habe.

Antwort

1

Ich surfte im Internet auf der Suche nach einer Antwort, und ich fand, dass der Grund dafür sein kann, dass meine Matlab-Version, 2015b, nicht für Cplex unterstützt wird.

Ja, das ist richtig; Ihre Version von MATLAB wird nicht unterstützt. Sehen Sie die Detailed system requirements für Ihre Version von CPLEX (vermutlich 12.6.1).

Daher ist meine Frage: Kann ich immer noch die Ergebnisse vertrauen, die ich von der Funktion bekomme?

Es wird nicht unterstützt, daher wird es nicht getestet. Verwenden Sie es auf eigene Gefahr. Wenn Sie sich Ihrer Ergebnisse sicher sein wollen, verwenden Sie eine unterstützte Version von MATLAB. Ich weiß, dass das keine sehr befriedigende Antwort ist, aber es ist wahrscheinlich das Beste, was du bekommst.

Es sieht so aus, als könnte es möglich sein, die Warnung zu deaktivieren (wie gezeigt here), aber das ändert nichts.

+0

Ich verstehe. Ich werde nach einer unterstützten Matlab-Version suchen, denke ich. Vielen Dank. – Patapunfate