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."

Reply via email to