Tobias Achterberg's thesis includes a review of MIP solver technology from around 2009, including branching decisions and node selection.

Staffjoy was an early user of Julia and JuMP for their start up providing workforce scheduling. They also release all of their internal software as open-source after they shut-down. See for example ...

The AIMMS Optimization Modeling book is freely available and very accessible. There are lots of worked examples going from problem description to example data and model formulation.

Are you formulating your model with nonlinear expressions that just happen to be convex? Or can you provide conic normal forms, maybe using a modeling tool based on displicined convex programming? In ...

A new webinar series was just started: Analytics for a Better World. The first two presentations cover health care (ventilator distribution for COVID-19) and the poverty (food distribution).

One obstacle in finding champions within the client company is that with OR solutions, there is a fear of automating decisions, which might make some people's job redundant. Or at least this ...

I think this is easiest for applications where cost reduction is an explicit goal of the model. Let's say a company is in the delivery business and uses some specific method / heuristic to assess ...

You can introduce a binary variable $x_s \in \{0,1\}$ for each of your sets. Then, for every element $e$, you add an inequality that implies that exactly one set containing it may be selected: $\sum_{... View answer 7 votes That sounds like you could formulate it as MIP. You have a fixed set of planned purchases, right? Each of them ($p$) will yield a constraint of the form$x_p + c_p \cdot y_p = t_p$, where$x_p$is ... View answer 7 votes Not quite Linear Programming, but if you are willing to generalize to Convex Programming, I have stumbled over some modeling systems (for disciplined convex programming) that support optimization with ... View answer Accepted answer 6 votes I believe this result (with proof) is contained in the text book "Network Flows" by Ahuja, Magnati and Orlin. In particular, chapter 11 is on the Network Simplex algorithm and Theorems 11.2 ... View answer Accepted answer 6 votes You can have a look at SCIP's implementation in cons_indicator. They say that: An indicator constraint is given by a binary variable$z$and an inequality$ax \le b$. It states that if$z=1$then$ax ...

Hanging up laundry to dry is a form of online bin packing. I usually pick largest items first and pick a "line" with the smallest remaining capacity ("best fit"?)/

I think that there exist multiple solvers based on ADMM. If the variables can be partitioned in two sets in a way that the problem decomposes for one set fixed, then every other iteration can be ...

If (for small dimensions) it is feasible to enumerate the vertices of the polyhedron of the relaxation, as well as the actual feasible set, one could try to find a vertex with the highest distance to ...

There are several open-source software packages that use branch-and-bound to solve integer programming, for example: GLPK: https://www.gnu.org/software/glpk CBC: https://github.com/coin-or/Cbc

Assuming finite bounds on $x$, this could be modeled with disjunctions on the many cases to which $x$ can be rounded. For example, if $x \in [ 0, 2 ]$, we would have: $$\begin{cases} x \le 0.5, &... View answer 5 votes As an alternative to finding irreducible infeasible subsets (smaller subproblems that are still infeasible) would be to introduce slack variables into your constraints. Then you would replace your ... View answer 5 votes If you use the SCIP shell, you can simply interrupt the solving process with Ctrl+C, then use the newstart command the clear the tree and start solving again with optimize. This will keep not only the ... View answer 5 votes One group at LANL published several collections of model formulations around infrastructure optimization (power grid, gas pipelines, etc.): https://lanl-ansi.github.io/software/ The formulations are ... View answer 4 votes I'm not an expert in the field, but the paper An effective implementation of the Lin-Kernighan traveling salesman heuristic by Keld Helsgaun was mentioned in another question before. View answer 4 votes I think that if you don't want to introduce additional variables, you will have to use products of them, to give additional value to, say, x_1 \cdot x_2. Since theses are all binary variables, you ... View answer 4 votes There is a paper Learning Fast Optimizers for Contextual Stochastic Integer Programs where they develop a "learnable local solver" to solve problems where the MIP solvers did not scale. I have not ... View answer 3 votes You can also submit the solution to the MILP solver. The solver should then use the bound from it automatically. Further, it might use the solution values for various improvement heuristics (e.g. ... View answer 2 votes I guess that depends on the application and the constraints and expectations that the end users have. For example, do users work with the model interactively, trying different parameter choices and ... View answer 2 votes Do you need a Python library in particular? If you are happy using Julia, you should give JuMP a try. It will give you high-level modeling with fast model generation and connection to most solvers. In ... View answer 2 votes As an alternative solution, I propose to add an auxiliary integral variable y \in \mathbb{Z} that should play the role of the rounded x. For your example of the inequality, I would add:$$ \begin{...