convexengineering / gplibrary

Useful subsystem models
MIT License
10 stars 11 forks source link

SimPleAC update. #175

Closed 1ozturkbe closed 4 years ago

1ozturkbe commented 5 years ago

This adds revisions for integration with robust testing (so we can remove gassolar from the requirements, as it is no longer being kept up to date).

1ozturkbe commented 5 years ago

Arg, I thought this was going to be an easy merge, but it seems like a variable ('C_m') is unbounded only when solving with cvxopt. I tried adding a dummy lower bound to the problem although C_m has a substitution, but this didn't fix the issue. I am traveling this weekend, but can look more in detail on Monday. In the meanwhile, if you have any insights @bqpd they would be appreciated.

1ozturkbe commented 5 years ago

@bqpd looked at this again, and don't see any reason why the cvxopt solves should give unbounded, esp since mosek solves the problems fine. Is it possible to put a skipsolvers for the SimPleAC models in tests?

1ozturkbe commented 5 years ago

@bqpd this is important for getting documentation up for robust, so I would appreciate your time! What do you think is the best approach?

bqpd commented 5 years ago

I think the problem is actually this error message (from here)

SP is not converging! Last GP iteration had a higher cost (3e+03) than the previous one (2.7e+03). Results for each iteration are in (Model).program.results. If your model contains SignomialEqualities, note that convergence is not guaranteed: try replacing any SigEqs you can and solving again.

The unbounded warning occurs in a cycle of feasibility solves, probably after some variable goes to 0/inf.

bqpd commented 5 years ago

It looks like the new model just doesn't solve with cvxopt. Because gpkitmodels are currently the only ones that otherwise do, I'd like to keep it that way...maybe add a from gpkit import settings; if settings["default_solver"] == "cvxopt": return?

1ozturkbe commented 5 years ago

That's what I thought. I guess I'll add that.

1ozturkbe commented 5 years ago

test models please

1ozturkbe commented 5 years ago

oy, now gassolar and jho are giving issues, probably because of the PR that they are waiting for. When you are ready @bqpd please merge.

bqpd commented 4 years ago

sorry for the late response! which PRs?

1ozturkbe commented 4 years ago

The models are raising KeyErrors only when they are solved with mosek, likely because the signomial models (jho, solar etc.) have exceptions that make them not solve with cvxopt.

1ozturkbe commented 4 years ago

gassolar at a minimum as a skipsolvers for cvxopt, which is the only reason it passes for cvxopt. I'm trying to find the exact line of failure rn.

bqpd commented 4 years ago

test models please

1ozturkbe commented 4 years ago

It's an issue with varkeys here. Mission.Loiter.t is not valid apparently.

bqpd commented 4 years ago

those KeyErrors should be fixed, since the last PR test passed models...

bqpd commented 4 years ago

retesting to confirm this is still active

1ozturkbe commented 4 years ago

huh, funny... let's see.

bqpd commented 4 years ago

looks like they're passing!

1ozturkbe commented 4 years ago

yey! Let's wait for the last, and merge!