Dear Teiji, Knitro is using interior point methods. Interior point method are known to have bad properties regarding initial point (=if you start an interior point solver with an initial point which is already an optimal point, the solver will not figure it out and may even behave worse than starting from a dummy initial point). But still, many times if you have a good guess or a good initial point, the solver may behave better. When you run your series of OPFs, the result is used as initial point for the next OPF. This may explain different behavior of the solver.
Implicit question: why are optimal values different? 1/ as OPF is a non convex problem, you only get a local minimum, so maybe you don't have the same local minimum each time 2/ stopping criteria are using tolerances; maybe within the tolerances you used, there are several solutions. For fine tuning of Knitro, you can see how we did in this paper: https://arxiv.org/abs/1603.01533 page 4, section V.A. knitro matlab documentation: https://www.artelys.com/tools/knitro_doc/3_referenceManual/knitromatlabReference.html If you force V and theta to zero in your case before each run, you wshould always get the same result. Best regards, -- Jean Maeght RTE - R&D Division -----Message d'origine----- De : [email protected] [mailto:[email protected]] De la part de Olaf Schenk Envoyé : lundi 29 mai 2017 09:51 À : MATPOWER discussion forum <[email protected]>; Drosos Kourounis <[email protected]>; Kardoš Juraj <[email protected]> Objet : Re: Different results at repeated execution Hi Teiji, I suggest to use an optimizer that has parallel bitwise reproducible functionality. KNITRO is not able to give you identical results, but the IPOPT/PARDISO 5.0 binaries offers this functionality. You can it use the binaries under "Matpower Libraries" on http://www.pardiso-project.org/#download Best, Olaf Schenk On 27.05.2017 13:12, Teiji Ponishi wrote: > Hi all, > > I use MATPOWER 5.1, and knitro as a optimization solver. > > When I run the MATPOWER repeatedly, the values of objective function > can be slightly reduced as follows: > > 1st 8740.2 > 2nd 8731.9 > 3rd 8728.3 > > But, after MATLAB was restarted, the same values of objective function > can be obtained. > > 1st 8740.2 > 2nd 8731.9 > 3rd 8728.3 > < MATLAB is shutdown and restarted > > 4th 8740.2 > 5th 8731.9 > 6th 8728.3 > > How do I obtain same results of MATPOWER without restarting MATLAB ? > > Best, > > Teiji -- Prof. Dr. Olaf Schenk Advanced Computing Laboratory Institute of Computational Science Università della Svizzera italiana ** Switzerland Via Giuseppe Buffi 13 ** 6900 Lugano Phone: +41 (0) 79 368 22 81 ** Fax.: +41 (0)58 666 45 36 Email: [email protected] ** http://www.ics.inf.usi.ch "Ce message est destiné exclusivement aux personnes ou entités auxquelles il est adressé et peut contenir des informations privilégiées ou confidentielles. Si vous avez reçu ce document par erreur, merci de nous l'indiquer par retour, de ne pas le transmettre et de procéder à sa destruction. This message is solely intended for the use of the individual or entity to which it is addressed and may contain information that is privileged or confidential. If you have received this communication by error, please notify us immediately by electronic mail, do not disclose it and delete the original message."
