convexengineering / SPaircraft

Models for commercial aircraft design
http://spaircraft.readthedocs.org
25 stars 17 forks source link

Multi-mission does not solve reliably #47

Closed mayork closed 7 years ago

mayork commented 7 years ago

Could we be pushing the bounds of Mosek? The problem is 5,299 variables

mayork commented 7 years ago

solve stability seems to decrease as Nmission is increased...are we pushing the bounds of Mosek?

1ozturkbe commented 7 years ago

It is very possible. I was reading this from a Mosek blog, and it seems that the NEAR_OPTIMAL is an indicator that the solver is stalling/not making meaningful progress towards a solution. And we start getting NEAR_OPTIMAL's even with 1700 variables...

mayork commented 7 years ago

It might be worth considering doing some variable normalizations to make everything of roughly the same order of magnitude

1ozturkbe commented 7 years ago

I think good initial guesses are probably more if not just as important, especially since the near_optimals occur (at least for me) near the beginning of a solve. Is there a way to nicely convert a solution to an x0?

mayork commented 7 years ago

pass in x0=sol

1ozturkbe commented 7 years ago

But for the multimission, not for the single one... :P

mayork commented 7 years ago

have to iterate over the single mission solution and turn everything that is vetorized into a vector then store it all in a dict and pass that in for x0

1ozturkbe commented 7 years ago

Btw, the multimission runs fine now, but I'm getting that all of the weights are the same for the aircraft for different n_pax. Is it possible something isn't vectorized properly?

mayork commented 7 years ago

by all the weights, what do you mean specifically. all that should be changing is the weight from passengers and fuel burn

mayork commented 7 years ago

and it doesn't run fine if you increase Nmission to 4 it gets sketchy

1ozturkbe commented 7 years ago

Since we have resolved the NEAR_OPTIMAL issue, I think the multimission is much more well-behaved. Closing this. Instead, we should focus on issue #82, which still messes with my head.