Skip to content

Add support for lexicographic optimization #123

@Nodrance

Description

@Nodrance

My problem is something like
3a + b >= 14
10 - a + c >= 0
3 - b + 2d >= 0
4 - c - d >= 0
all variables are nonnegative
I want to optimize for a, and in cases where a is maximized, further optimize for d (alternatively, "optimize for a, tiebreaker d". I could just do something like objective = a*10000 + c but I want this to work for an arbitrary number of nested tiebreakers and not need finely tuned weights. For example in a problem with coefficients as large as 10,000, you might get a case where optimizing for c actually beats out optimizing for a because 10,000 is no longer a big enough gap.

Is this possible within this framework? Is it possible in general?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions