Linear Programming for Fun and Profit
1–10 of 17 posts
Re: Linear Programming for Fun and Profit
#2Is this a continuous variable? Seems discrete to me. I am surprised it is solved by simplex.
Re: Linear Programming for Fun and Profit
#3Re: Linear Programming for Fun and Profit
#4Great to see this post here -- really enjoyed writing it! I think it's really cool how an algorithm from an operational research context can play a critical role in a high-availability large-scale cloud service.
Re: Linear Programming for Fun and Profit
#5> X = [x1, ..., Xn]: instances of each type to launch Is this a continuous variable? Seems discrete to me. I am surprised it is solved by simplex.
Re: Linear Programming for Fun and Profit
#6> X = [x1, ..., Xn]: instances of each type to launch Is this a continuous variable? Seems discrete to me. I am surprised it is solved by simplex.
It's the answer, a vector of integers
Re: Linear Programming for Fun and Profit
#7Earlier quoted context omitted.
It's the answer, a vector of integers
Simplex cannot give a vector of integers though, unless the constraint matrix is unimodular. Maybe the integrality constraint was relaxed.
Re: Linear Programming for Fun and Profit
#8Re: Linear Programming for Fun and Profit
#9Earlier quoted context omitted.
Simplex cannot give a vector of integers though, unless the constraint matrix is unimodular. Maybe the integrality constraint was relaxed.
You're right -- we do relax the integrality constraint, gaining performance at the expense of some precision, and we're generally able to paper over the difference at scheduling time. We've investigated integer linear programming for some use cases, but for solves to run quickly, we have to constrain the inputs significantly.
Re: Linear Programming for Fun and Profit
#10Earlier quoted context omitted.
Simplex cannot give a vector of integers though, unless the constraint matrix is unimodular. Maybe the integrality constraint was relaxed.
You're right -- we do relax the integrality constraint, gaining performance at the expense of some precision, and we're generally able to paper over the difference at scheduling time. We've investigated integer linear programming for some use cases, but for solves to run quickly, we have to constrain the inputs significantly.
Actually, the commercial solvers are so fast that I would not be surprised if they solved the IP problem as fast as Glop solves the LP. (Yes, the theory says it is impossible, but in practice it happens.) The cost of a commercial solver is 10k to 50k per license.
[1] ... this 60x number has very high variance depending on the type of problem, but it is not taken out of nowhere, it comes from the Mittelmann LP benchmarks https://plato.asu.edu/ftp/lpopt.html There are also benchmarks for other types of problems, including IP, see the whole list here: https://plato.asu.edu/bench.html