In my work, I use Gurobi and other proprietary/free solvers to optimize some objectives big banks care about. It's not uncommon to use solvers in finance to optimize some metrics of a portfolio. A lot of people I have met in conferences optimize their supply chains (think things like: find the best pattern to draw the various pieces of my table in these planks of wood such that it minimizes wastes, find the best route to deliver my 100 packages...)
Right, the LEAN/TPS application is readily apparent for assembling physical goods.
But do people use it say for large scale software which needs to be tested, certified, translated, deployed, etc? I can imagine such orchestration but I've never seen it professionally. Maybe I just haven't worked at the proper companies
LPs (and MIPs) are used for scheduling, planning, and logistics. These are some of the earliest applications of LPs, dating to the 1930's and 1940's, and these applications are still relevant. The wikipedia page has a good overview of the history and utility of linear programming.
https://en.wikipedia.org/wiki/Linear_programming
That's a clarifying response: I've applied (non)convex programming (LP, QP, MIP, etc) to all the above and a few more, all of which i'd classify as classical applications. Less traditional applications -- I'd like to explore these more --- include data envelopment analysis, which provides a framework for assessing the efficiency of processes based on 1 or more input metrics, and several ideas in papers published at NeurIPS and other conferences that integrate LPs into neural networks in various ways, including AUC maximization. I've also worked on first order methods to solve LPs, and while I'd like to continue in that direction, the area is very crowded with very good existing tools, new and emerging tools that are also often good, and very strong teams building on all of the above. One of the biggest challenges that I see in the OR space is that it requires human expertise to leverage the technology.
In a professional context, I use it to help a client (chemicals company) optimize their deliveries to customers. They have > 100 production sites and thousands of customers, so LP is used to allocate customers to production sites based on the product-cost and availability at supply site and trucking costs. We have evaluated multiple solvers (Gurobi/ Llamasoft/ GAMS/ LocalSolver etc) for optimizing deliveries, as well as evaluating the cost impact of changes to the delivery network.
if you have a license for a good fast solver already for some reason, it can be very effective to reduce some NP-hard problems to integer programming.
also, one interesting application related to data science is to embed a machine learning model (usually regression, maybe decision tree or neural network) inside the integer program, and then maximize over its inputs. this can let you characterize worst-case behavior, or answer questions like "how must a user change their features to flip the prediction?".
solvers are so expensive that MIPs will probably never become part of mainstream data science, but they can be very powerful beyond classic OR problems.