convexengineering / SPaircraft

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

Multi-mission sensitive to model size and variable splitting #102

Open mayork opened 7 years ago

mayork commented 7 years ago

Issue to discuss growing pains in the multi-mission analysis

mayork commented 7 years ago

@1ozturkbe @bqpd I noticed some pretty interesting things.

First off, compare these two commits https://github.com/hoburg/SPaircraft/commit/3a4ee2201d0f67c305340ccfc60e5e37a0d8fd02 (doesn't work) https://github.com/hoburg/SPaircraft/commit/51009fd5e25dfc94324dc9734f560e9c7adc6c41 .... (works) @bqpd correct me if I'm wrong but I think this indicates there's a bug in how GPkit is handling these vector variables?

Also, I think we discovered Mosek can't solve the really big problems because this commit works https://github.com/hoburg/SPaircraft/commit/51009fd5e25dfc94324dc9734f560e9c7adc6c41 while this one doesn't https://github.com/hoburg/SPaircraft/commit/3f256dfa0eaf227ac8e52d0e3796c37e8e653c8b. The only difference should be the size of the problem.

1ozturkbe commented 7 years ago

@mayork I do think that there were some potentially problematic constraints, and I pushed some changes to the branch multiFix in an effort to get multimission working. I would think that these constraints would have definitely caused primal infeasibility.

mayork commented 7 years ago

@1ozturkbe multi-mission does work, but not for large Nmission vals

bqpd commented 7 years ago

@mayork that does look like a bug, I'll take a look. As for the size issue...I sure hope it's not a max-number-of-variables thing. :-/ I feel like MOSEK would exit with a memory error if it were?

bqpd commented 7 years ago

@mayork does it fail on the first solve with the additional mission? If so, could you upload the working/not-working mskexpopt problem statement files so I could send them to MOSEK?

mayork commented 7 years ago

@bqpd doesn't fail on the first solve. remind me again how to generate the mskexpopt?

bqpd commented 7 years ago

I think it's .localsolve(solver="mosek_cli", path="", clearfiles=False)

bqpd commented 6 years ago

@mayork, https://github.com/hoburg/SPaircraft/commit/3a4ee2201d0f67c305340ccfc60e5e37a0d8fd02 works fine when I run tests; what is broken by that commit?

bqpd commented 6 years ago

https://github.com/hoburg/SPaircraft/commit/3f256dfa0eaf227ac8e52d0e3796c37e8e653c8b also works for me...on https://github.com/hoburg/gpkit/commit/585d8bf7aa0006263363555fd9b08d383f95109c and presumably the two commits before it, since they just change documentation/tests

erling-d-andersen commented 6 years ago

There are no size limits in MOSEK and it should never crash. It may not solve your problem due to numerical issues though.

If you think MOSEK has a bug you want us to look at, then please report it to

https://www.mosek.com/support/

Just include information so it easy for us to reproduce the issue.