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 ...

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 ...

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 ...

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 ...

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....

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 ...

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 ...

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 ...

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 ...

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 "...

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 ...

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 ...

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. ...

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 ...

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 ...

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 ...

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 ...

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 ...

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 ...

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 ...

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 ...

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: ...

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 ...

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 ...

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 ...

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

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 ...

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 ...