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

Add vOptGeneric #2388

Closed
wants to merge 1 commit into from
Closed

Add vOptGeneric #2388

wants to merge 1 commit into from

Conversation

freemin7
Copy link
Contributor

It's a multi objective LP solver that calls other LP solvers

It's a multi objective LP solver that calls other LP solvers
@codecov
Copy link

codecov bot commented Nov 28, 2020

Codecov Report

Merging #2388 (4916851) into master (72be0c7) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #2388   +/-   ##
=======================================
  Coverage   91.62%   91.62%           
=======================================
  Files          42       42           
  Lines        4452     4452           
=======================================
  Hits         4079     4079           
  Misses        373      373           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 72be0c7...4916851. Read the comment docs.

@mlubin
Copy link
Member

mlubin commented Nov 28, 2020

I wouldn't classify vOptGeneric as a solver but as a JuMP extension, because it extends JuMP's syntax with vModel, @addobjective, vSolve etc. We should find or create an appropriate place to list JuMP extensions.

@freemin7
Copy link
Contributor Author

Fair.

@blegat
Copy link
Member

blegat commented Nov 29, 2020

It seems they also provide a solver for multi-objective optimization. Once MOI allows multi-objective optimization, e.g. by allowing vector objective as suggested by @odow, this would allow it to be an MOI solver. But that's not the case at the moment so it shouldn't yet be in the table.

@freemin7
Copy link
Contributor Author

I recently had a conversation with people who research multiobjective optimization group at University of Jyvaskyla.
One reason for using multi objective optimization is that the proper weighing of the objectives depends on querying an decision maker. There a 4 ways how that might be done:

  • The a proper weighing is know ahead of time and the problem can be solved as a single objective optimization
  • A surrogate model of the pareto front is required to that a decision maker can judge/explore it computationally cheaply
  • After some sampling the decision maker get queried to might judge which objectives/parts of the parameter space are interesting to be explored more in case the space of options is really huge
  • A sampling of the pareto front is required such that a decision maker can choose between those samples, possibly with some software that helps him explore that space.

I am not sure with all those variants can be accomplished with what JuMP has in mind for multi objective optimization but i found it wise to mention them, if someone else has ideas for that.

The problem is that the notion of "solving" a multiobjective optimization is a notion that has multiple approaches that results in a different types of return values.

@odow
Copy link
Member

odow commented Nov 29, 2020

Here's a plan for MO support in JuMP: #2099

@odow
Copy link
Member

odow commented Dec 15, 2020

I started a place to list JuMP extensions: jump-dev/jump-dev.github.io#36

@odow
Copy link
Member

odow commented Dec 15, 2020

Closing in favor of jump-dev/jump-dev.github.io#36

@odow odow closed this Dec 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

4 participants