Richard
  • Member for 2 years, 7 months
  • Last seen this week
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
"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
Why is open source operations research software so far behind open source statistics and machine learning software?
15 votes

Disclaimer: although I work for Gurobi, the views in this post are entirely my own. I believe there are a few reasons for this trend: First of all, the industries were "born" in different ...

View answer
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
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
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
KKT inequality conditions
Accepted answer
10 votes

If you want to use the KKT conditions for the solution, you need to test all possible combinations. This is why in most cases, we use the KKT's to validate that something is an optimal solution, since ...

View answer
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
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
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
Does the API affect the time Gurobi requires to find an optimum?
8 votes

Once it’s passed to the underlying C library, it does not matter which API it came from. However, there may be some overhead when you are retrieving the solution through the API (for the same reasons ...

View answer
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
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
Where to search for PhD level jobs in OR?
7 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
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
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
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
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
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
Applicability of Lagrange Multipliers in the analysis of large-scale MILPs?
6 votes

I am not aware of specific algorithmic methods for MIPs that use Lagrangian multipliers directly. However, as for the interpretation of the solution of a MIP: probably one of the nicer applications I ...

View answer
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
Strategic planning based on average values
5 votes

I come across the problem quite a bit (am a practitioner in a utility company building offshore wind farms), and here is my take: As Marco said, try to get as much data about the system as possible: ...

View answer
Minimizing a project costs through nonlinear optimization
5 votes

You have multiple things at hand here, none of which seem like an optimization problem to me: To understand how many people to hire, consider that you have ca. 620 miles (= 1000km) of grid, and a ...

View answer
How to avoid having your optimization models rusting?
5 votes

If you have the optimizer run server-side with a web API, then you can easily track how often a problem is sent. Since you are not actually storing the problem data (which may though be relevant in ...

View answer
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
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
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
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
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
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