Skip to content

Conversation

@AnhTran01
Copy link
Contributor

Fixes NA

Summary/Motivation:

This PR introduced a new GAMS solver interface that uses the LinearRepnVisitor to enable coefficient gathering when writing out the scalar GAMS model in gms format.

Changes proposed in this PR:

  • New GAMS solver interface in pyomo.contrib.solver.solvers
  • New GAMS writer in pyomo.repn.plugins
  • New GAMS solution loader in pyomo.contrib.solver.solvers

Legal Acknowledgement

By contributing to this software project, I have read the contribution guide and agree to the following terms and conditions for my contribution:

  1. I agree my contributions are submitted under the BSD license.
  2. I represent I am authorized to make the contributions and grant the license. If my employer has rights to intellectual property that includes these contributions, I represent that I have received permission to make contributions and grant the required license on behalf of that employer.

@AnhTran01
Copy link
Contributor Author

@boxblox
@abhosekar

@mrmundt
Copy link
Contributor

mrmundt commented Aug 7, 2025

@AnhTran01 - Please make sure to run black on your changes!

Copy link
Contributor

@mrmundt mrmundt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Immediate piece of feedback, recognizing that I have not thoroughly looked over anything - there are no tests anywhere, and there absolutely will need to be some.

Thanks for this, though, I am so excited!!

Copy link
Member

@jsiirola jsiirola left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Some initial comments, mostly on configuration)

if config.logfile is not None:
config.logfile = os.path.abspath(config.logfile)

config.writer_config.put_results_format = 'gdx' if gdxcc_available else 'dat'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably only overwrite the configuration if it is still None (that way users can set / override the interface)

@blnicho blnicho moved this from Todo to Review In Progress in Pyomo 6.10 Nov 11, 2025
@blnicho
Copy link
Member

blnicho commented Nov 18, 2025

@AnhTran01 did you see the review comments from @mrmundt? Are you going to have a chance to work on this in the near future?

@AnhTran01
Copy link
Contributor Author

@blnicho I've seen the comments and they're part of my todo. I'm aiming to implement these by Nov. 30th.

boxblox and others added 5 commits January 21, 2026 16:19
Co-authored-by: Miranda Mundt <55767766+mrmundt@users.noreply.github.com>
Co-authored-by: Miranda Mundt <55767766+mrmundt@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Review In Progress

Development

Successfully merging this pull request may close these issues.

6 participants