Richard
  • Member for 2 years, 6 months
  • Last seen this week
3 answers
2 votes
89 views
How to say to Gurobi solver with Python API to start from a given solution?
Accepted answer
2 votes

1- It is likely that the performance will be improved, but it is not guaranteed. In general I would always recommend to provide a start solution. 2- You can use the Start attribute. An example would ...

View answer
2 answers
3 votes
120 views
Assistance in formulating binary constraint(s)
1 votes

I would add an auxiliary variable $z\in\{0,1\}$: $$ z \geq a_i \ \ \forall a_i \in A $$ Then you can write: $$ b_j \leq 1-z \ \ \forall b_j \in B $$ If $z=0$, then the constraint is redundant. However,...

View answer
1 answers
2 votes
127 views
Tuning the coefficients of an objective function of LP
Accepted answer
5 votes

When defining multiple components in an objective function, you should take care of a couple of items: All elements (i.e.e $a \cdot x_1$, $b\cdot x_2$ etc.) should have the same unit. This sounds ...

View answer
1 answers
1 votes
100 views
How to find the optimal solution of a convex program given all KKT points?
1 votes

This sounds like parametric programming to me. In short, you can calculate a set of regions, typically called "critical regions", within which the same set of constraints is active. This in ...

View answer
1 answers
1 votes
61 views
gurobipy.GurobiError: Second argument should be a list of Var
1 votes

The problem is that you create a tuplelist of a list. The function addVars returns a list of variables objects already. This means, you should be able to simply do: contribution = LinExpr(coefficients,...

View answer
2 answers
4 votes
194 views
Setting up Branching Priority for GUROBI in Pyomo
3 votes

You can control the branching priorities in Gurobi using the BranchPriority attribute, which you can then store in an .ord file. This file can then be provided as an input using the InputFile ...

View answer
6 answers
12 votes
934 views
Where can I find documentation on good practices for efficient formulations of a problem?
7 votes

Honestly, there is not that much in general that I am aware of. The best resource (other than the ones you mentioned) that comes to mind is Fischetti's modeling book "Introduction to Mathematical ...

View answer
1 answers
1 votes
152 views
Mixed Integer Programming - How to model the dependency of two variables in an objective function
0 votes

You should model this using a set of constraints. Off the cuff you could try this: \begin{equation} \begin{array}{ll} \text{minimize} & \sum_{i} c_ib_i \\ \text{subject to} & a \leq A_i \...

View answer
4 answers
11 votes
620 views
Recommendations for OM blogs
13 votes

Here is the list of blogs and social media that I regularly check [in no particular order]: https://www.zverovich.net/ https://yetanothermathprogrammingconsultant.blogspot.com/ https://orinanobworld....

View answer
3 answers
2 votes
101 views
Link a binary variable to continuous variable in Java Gurobi
Accepted answer
1 votes

The easiest would probably be to model it as follows: $$ S_m \leq a + bx_m \\ S_m \geq ax_m $$ where $a$ is the switch and $a+b$ is the upper bound for variable $S_m$. In this case, if $S_m< a$, ...

View answer
3 answers
11 votes
479 views
Are there explainability approaches in optimization?
7 votes

In my view, mathematical optimization is inherently explainable for various reasons: The model is "white-box", i.e. it is developed by a person defining all the variables and constraints. ...

View answer
2 answers
4 votes
151 views
Best practices regarding using "aggregated variables" in MIP
6 votes

In my experience, it does not matter much for in terms of speed. The reason is that the size of an optimization really does not correlate with the time it takes to solve the model. There are even ...

View answer
2 answers
3 votes
261 views
How to get an extreme ray of an LP from Gurobi
Accepted answer
3 votes

In order to query the GRB_DoubleAttr_UnbdRay attribute, you need to optimize the problem with the InfUnbdInfo parameter set to 1.

View answer
3 answers
2 votes
170 views
Are there any standard "tests" that determine if a model will not optimize / no solution?
3 votes

TL;DR: You can do a lot with data QA, but it may not cover everything. Let's assume that you have written your model "correctly", i.e. there are no typos etc. Then, any infeasibility will ...

View answer
1 answers
4 votes
260 views
Issue in solving a large scale MIQP problem
8 votes

TL;DR: Some optimization problems are tough, and it requires a lot of work to get them solved. First, let me answer your questions: Yes, this is NP-hard, but that does not say anything about whether ...

View answer
1 answers
2 votes
95 views
How to obtain the sensitivity analysis of correlated data?
1 votes

Disclaimer: I did my PhD on the topic below and was the author of one of the toolboxes I mention below. This sounds a lot like you are interested in multi-parametric programming, i.e. solving your ...

View answer
1 answers
3 votes
86 views
How to evalute the quality of a solver (beyond solution quality and time efficiency)?
3 votes

In the order of importance (my opinion): Solution quality/optimality Speed Robustness towards numerically challenging problems API and model creation speed The first three you can do through ...

View answer
6 answers
10 votes
2k views
Nonlinear integer (0/1) programming solver
6 votes

In my opinion your best bet is to define an auxiliary variable $z_{ijk}$ such that: \begin{equation} z_{ijk} \geq x_{ji} + y_{kj} -1 \\ z_{ijk} \leq x_{ji} \\ z_{ijk} \leq y_{kj} \end{equation} Now ...

View answer
2 answers
4 votes
209 views
Output of binary variable greater than one
2 votes

When dealing with infeasibility, I like to do two things: a) Create the Irreducible Infeasible Subset (IIS). I don't think PuLP directly allows you to create that, however you could export your model ...

View answer
3 answers
6 votes
1k views
How to improve the quality of code in OR?
Accepted answer
8 votes

Disclaimer: I have worked for 3 years as an optimization software developer at a utility company and now work for Gurobi. Is the expectation for entry level positions, that the applicant is able to ...

View answer
3 answers
14 votes
688 views
Using CPLEX "solution pool" to count feasible points
14 votes

The only way (to my knowledge) to get all feasible points for the binary components of a MIP is as follows: Solve the problem. Let $y$ denote the optimal solution Add the following integer cut to ...

View answer
2 answers
9 votes
150 views
Partial derivative of LP solution $(x_1 , \ldots, x_n)$ w.r.t. $x_i$ or $a_i$
6 votes

The solution to an LP is given directly by its active set, $I = \{i_1,i_2,...,i_n\}$, which forms a system of equations that recovers the solution $x^*$. If your solution varies, then the question is ...

View answer
4 answers
12 votes
2k views
Where to search for PhD level jobs in OR?
6 votes

Disclaimer: I work as an optimization specialist in a large utility company in Denmark. Look for "Data Scientist", "Data Engineer", "Optimization specialist", "Operations Research Specialist" or ...

View answer
2 answers
19 votes
822 views
How do we decide/plan an SLA for an NP-hard optimization process running in production?
7 votes

I think there is three angles to attack this problem. A complete solution will probably feature each one of them Large set of (hard) test cases: If you are worried about the hard instances, then I ...

View answer
3 answers
12 votes
2k views
Are fuzzy sets appreciated by OR community?
7 votes

In my opinion, fuzzy sets inherently suggest a notion of uncertainty, e.g. a statement may be “half-true” as it cannot be clearly determined whether it is true or not. This type of uncertainty is ...

View answer
3 answers
17 votes
3k views
Can an integer optimization problem be convex?
10 votes

Mathematically, mixed-integer programs (MIPs) are non-convex, for the very reason you stated: the set $x \in \{0,1\}$ is inherently non-convex. In fact, for a convex optimization problem (e.g. linear ...

View answer
2 answers
7 votes
413 views
CP Framework/Solver for .Net Core
1 votes

Not sure about CP solvers, but for FICO Xpress the .NET .dll also works for .NET core. So I would suspect that similar transferability is also applicable for CP solvers. The reason is in my opinion ...

View answer
2 answers
14 votes
351 views
How is the field of operations research evolving?
8 votes

In my opinion, OR is definitely broadening in scope, but let me try to be a bit more concrete (N.B.: all of this is my opinion, and I hope others will add their views as well): OR is a relatively "...

View answer
7 answers
19 votes
7k views
Are programming languages necessary/useful for operations research practitioner?
19 votes

In my opinion, programming languages are necessary as an OR practitioner. There are a number of reasons for this: Data Input/Output often requires some programming language. Whether it’s reading in ...

View answer
4 answers
28 votes
2k views
"Best practices" for formulating MIPs
18 votes

I’m assuming that we want our models to be solved as quickly as possible. If that is the case, then the honest answer is: you need to try the models out and see. To give you a concrete example (see ...

View answer