Hot answers tagged

5

I actually have quite a few points. As usual, things are not as clear cut. I use advanced bases for LPs very often and they are surprisingly effective and tolerant of quite a few changes in the model. For large problems, often a good strategy is to use the barrier method for the first problem (solved from scratch) and the simplex for subsequent related ...


5

Try: SetSolverSpecificParametersAsString("heuristics/completesol/maxunknownrate = 0.9") References: SCIP params SetSolverSpecificParametersAsString usage


5

A TSP with a fixed starting point and no return to start, can be solved as an ordinary TSP with all the in-going arcs to the starting point having a cost of zero. That way the return to the starting point is "for free" and the TSP solver only focuses on the remaining part of the tour, giving you an optimal "open TSP".


5

Your constraint matrix is changing with each new problem, so it might not be easy to warm-start ... and it might not be worthwhile, even if you could. One nice thing (among several) about transportation problems is that the origin is feasible, meaning the simplex method has an obvious starting basis. Warm-starting would require you to massage the previous ...


3

The latest JuMP.jl website gives a few examples of its use in industry: route school buses by the Boston school district plan powergrid expansion by PSR optimize milk output by dairy farmers in New Zealand I personally find JuMP.jl, by far, the most user-friendly and flexible optimization interface I ever used. By far.


3

Here's one possible formulation, where $a_1,\dots, a_n$ are the values of the $n$ integers. Let binary decision variable $x_{i,j}$ indicate whether integer $i$ is assigned to subset $j\in\{1,\dots,k\}$. The problem is to maximize $z$ subject to \begin{align} \sum_j x_{i,j} &= 1 &&\text{for all $i$} \tag1\\ \sum_i a_i x_{i,j} &\ge z &&...


2

It's definitely the same idea. You can look at dynamic programming as developing a program to deal with large combinatorial problems, where brute force just isn't efficient. It comes down to finding a program that runs in polynomial time. And just like we like efficient solutions in OR, it's crucial to write efficient code when you are developing ...


2

Based on given model section, model.param_BigM_Surplus_Positive parameter is used in only constraint which is: model.constraint_BigM_Surplus_Positive = pyo.Constraint(model.set_timeslots, rule = BigM_Surplus_PositiveRule) You are using BigM_Surplus_PositiveRule for generating constraint which is: model.param_BigM_Surplus_Positive[t] == 10 But this ...


2

I don't know your entire code or the errors you get, but the general way is optimal_values = [value(model.x[key]) for key in model.x] df = pd.DataFrame(optimal_values) where model.x is your target variable that is optimized.


1

Warm starting is used predominantly when solving problems that are only slightly different, and typically when only some coefficients have changed. The idea is that many of the feasible polyhedrons' vertices are shared between the two problems, therefore starting at a vertex that was good at a previous problem will save us pivot operations. If the problems ...


Only top voted, non community-wiki answers of a minimum length are eligible