Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Trying multistage FWPH #205

Merged
merged 4 commits into from
Feb 8, 2022
Merged

Trying multistage FWPH #205

merged 4 commits into from
Feb 8, 2022

Conversation

bknueven
Copy link
Collaborator

@bknueven bknueven commented Jan 27, 2022

This runs. Questions:

  1. Is the bound provided valid?
  2. Is our implementation accidentally the multistage implementation?

@bknueven bknueven requested a review from dtmildebrath January 27, 2022 00:20
@DLWoodruff
Copy link
Collaborator

Line 35 of straight_tests.py needs to have --no-fwph added to it (the alternative is to change -np 3 to -np 4 in the same line)

@bknueven bknueven mentioned this pull request Feb 5, 2022
@dtmildebrath
Copy link
Collaborator

I don't suppose we have any other 3-stage IPs lying around? (I vaguely recall a forestry problem...?)

@dtmildebrath
Copy link
Collaborator

dtmildebrath commented Feb 8, 2022

Skimmed back through the Boland paper. I would have to set pen to paper to be confident in this, but it seems more plausible to me now that this may be the multistage algorithm. However, as Ben as already raised, it's still possible that this is a weaker version that it might be. In any event, I'm about 90% convinced this should produce valid lower bounds for multistage problems. We are essentially still solving (9) from Boland--building an inner approximation to the convex hull of each scenario, etc.

@bknueven
Copy link
Collaborator Author

bknueven commented Feb 8, 2022

Doing my own review, I'm inclined to agree with @dtmildebrath. The only complicating part would be in computing xbar (or z in the Boland paper), but this is already handled by PHBase. The FWPH implementation we have separates the variables by non-leaf variables and leaf variables, which is exactly what it seems you would want to do for a multistage extension of this algorithm.

Therefore I've removed the warning when using FWPH with multistage, and I think this should be merged.

@DLWoodruff DLWoodruff self-requested a review February 8, 2022 21:49
@DLWoodruff DLWoodruff merged commit 2dd7db4 into Pyomo:main Feb 8, 2022
@bknueven bknueven deleted the multistage_fwph branch February 8, 2022 22:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants