Linear programming is very cool, I loved Vasek Chvatal's book as a kid having accidently bought it thinking it was for computers.
But it's tricky to understand and implement and it struggles with real life constraints. i.e. This whole specialty just for integers.
Monto Carlo is trivial to understand and implement, adapts to changes and constraints trivially and should be just as good.
I'm sure for something high end like chip design you will do both. I'd be surprised to hear of real life stories where linear programming beats Monty Carlo.
> But it's tricky to understand and implement and it struggles with real life constraints. i.e. This whole specialty just for integers.
Integers are actually harder to deal with than rational numbers in linear programming. Many solvers can also deal with a mixed problem that has both rational and integer variables.
Monte Carlo simulations are an entirely different beast. (Though you probably mean simulated annealing? But that's close enough, I guess. Linear programming is an optimization technique. Monte Carlo by itself doesn't have anything to do with optimization.)
One problem with these other approaches is that you get some answer, but you don't know how good it is. Linear programming solvers either give you the exact answer, or otherwise they can give you a provable upper bound estimate of how far away from the optimal answer you are.
Linear programming on reals is "easy"... You can just check all the points. I believe you can follow the shell of the legal polytope and just use a greedy algorithm to choose the next point that will minimize your goal.
If you can get away with a continuous linear program I don't see why you'd use monte carlo. The simplex method will get you an exact answer.
But it's tricky to understand and implement and it struggles with real life constraints. i.e. This whole specialty just for integers.
Monto Carlo is trivial to understand and implement, adapts to changes and constraints trivially and should be just as good.
I'm sure for something high end like chip design you will do both. I'd be surprised to hear of real life stories where linear programming beats Monty Carlo.