One best practice that our team uses to validate implementations of optimization models is to have a non-optimization person write a "solution validator". We first document the requirements for the model, i.e., how the objective is computed, what are the constraints in terms of the business, etc. That's the "business requirements document". We also have a mathematical description of the model, the "mathematical model" document. The person writing the solution validator can look at the business requirements document, but not look at the mathematical model document. He/she then writes a code that ingests the data, as well as the solution (usually the solution is in a form of the business representation, not the decision variables). That code then validates that the solution satisfies the business requirements and that the various KPI's (definitely the objective function, but there could be multiple objectives) are computed correctly.
One thing we are trying to figure out is to come up with a similar methodology that will determine when a model (or implementation of the model) is over-constrained, i.e., the model and/or the implementation of the model is excluding feasible solutions. One way is to take known solutions and plug them into the model, but that doesn't always find all exclusions. I recently (last week!) had a project where our business owners were able to ask "why didn't it find this solution that is obvious to me?" The answer was an error in how a constraint was implemented in the code. To debug this, I had to construct a solution by hand that the solution validator said was valid, but the model said was infeasible. Not a trivial task!
Original Message:
Sent: 01-28-2024 15:38
From: Ken Fordyce
Subject: Why care about LP – linear programming?
Great questions from Tien and Shayan. Great response from Bruce. John Milne and I (and others) use the term industrial strength optimization (ISO) - I haven't give much thought lately how to describe it. We might think about ISO can fall into three areas: solve time, formulation, and tuning / robustness. These are the costs Bruce was describing. There is some basic sanity checking.
some code/reporting that checks material are balanced, demand is balanced.
Capacity utilization
How well is demand being met
At Arkieva and at IBM we wrote and use softpegging reports
This is just off the top of my head.
ISO would be a good topic for an INFORMS session. Generally one learns this through apprenticeship in the trenches.
Again my apologies for a poor response. My email is kfordyce@arkieva.com
------------------------------
Ken Fordyce
director analytics without borders
Arkieva
Wilmington DE
Original Message:
Sent: 01-28-2024 11:58
From: Bruce Hartman
Subject: Why care about LP – linear programming?
Hi, Tien. In LP/MILP for the real world the devil is always in the coefficients. How accurately do we know the numbers? And we are assuming linear dependence on the coefficients, how accurate is that in the business situation? It's often hard to gather data on that. Just like with linear regression on real data. The good thing: we absolutely understand the comparative statics, mathematically. The bad thing: the models are based on wrong assumptions if the comparative statics don't fit the situation.
------------------------------
Bruce Hartman
Professor
University of St. Francis
Tucson, AZ United States
bruce@ahartman.net
website:http://drbrucehartman.net/brucewebsite/
Original Message:
Sent: 01-26-2024 15:37
From: Tien Her
Subject: Why care about LP – linear programming?
Hello Ken,
As a MSBA student who is just trying to implement linear programming in the school project, I find your post really helpful and informative.
I can't agree with you more regarding your perspective on LP/MILP, especially in the modern world where companies are focusing on optimization. Thank you for sharing your insights and thoughts, and the links you attached are very resourceful too, the post definitely helped me gain more clarity about the linear programming and its application.
In terms of the implementation of linear programming, I am wondering is there any suggested/common practice to evaluate the model performance, or how would you validate a linear programming model with high complexity, thank you!
Tien (Candice) Her
UC Davis
San Francisco CA
------------------------------
Tien Her
UC Davis
San Francisco CA
Original Message:
Sent: 01-16-2024 14:41
From: Ken Fordyce
Subject: Why care about LP – linear programming?
I recently caught two interviews with Bob Bixby on the web. I jotted down a short summary – "LP Lessons from Bixby" to share. The two presentations contained a ton of helpful material.
Why care about LP – linear programming?
For SCM professions LP is of the principal modeling methods or solvers used in the supply chain management activity Supply or Central Planning. The Central Planning Engine (CPE) is a computational model that determines which products should be produced when and where to best meet demand and business policies – it intelligently matches assets with demand. In linear programming the relationships between production decisions, consumption of assets, purchase of raw material, assigning inventory to meet demand, and movement of inventory and WIP are represented in linear equations. In LP the values for the decision variables can be any value greater than or equal to ZERO. I might decide to produce 10.5 batches of cookies and 12.8 rolls. In mixed integer linear programming (MILP) some of the decisions variables must be integer. We might require the number of cookies produced to be an integer value. Binary or 0/1 integers are used to capture logical conditions. For example, on any given day the bakery can produce cookies or rolls, but not both.
For Data Scientists, LP is a particularly powerful way to model complex relationships and find an intelligent solution. For example, linear statistical models (regression) can be formulated and solved as an LP easily incorporating complex preferences – for example the number of independent variables allowed in the model is limited to three or place a limit on each "B" parameter.
Why Bob Bixby?
Bob was one of the fathers of modern linear programming (LP) and mixed integer linear programming (MILP) transforming it from occasionally helpful to a mainstay of modern analytics. Bob is clear many others made huge contributions, but his imprint is on most modern solvers including two of the leading commercial solvers: CPLEX and GUROBI.
Where are the Bixby lessons found?
Optimization: Past, Present, Future https://www.youtube.com/watch?v=_R8-nt5NyiE
A recent interview found at https://youtu.be/47BZgFhEFJ8
I urge everyone to listen to this material, it is packed full of valuable and interesting information.
My View of Highlights
1. LP/MILP is a computational science – yes theory is helpful, but the in-depth work on real world problems is a key to moving forward. Bob's example of degeneracy makes this clear. This is similar to medicine and especially surgery.
2. LP is now a solved problem. There are well established algorithms and implementations such that very large problems can be solved quickly, and smallish problems can be solved very fast. This dramatically opens opportunities for organizations to use this computational solver.
3. The growth has been and is in MILP. Catch this section in both videos. Growth in the ability to solve MILP and the application of MILP. However, MILP remains "hard" (can take a long time) to solve.
a. Today many central planning applications have an integer component. There are situations where "integer component" is not critical to the value of the model and solving faster is more important. This is sometimes difficult for a planner to grasp; humans think in integers.
4. LP/MILP is an AI technology.
Some links the reader might find helpful are:
Short-Interval Detailed Production Scheduling in 300mm Semiconductor Manufacturing using Mixed Integer and Constraint Programming by Bixby, Burda, and Miller.
Linear Programming Techniques in Regression Analysis, E. A. Kiountouzis, Journal of the Royal Statistical Society. Series C (Applied Statistics), Vol. 22, No. 1 (1973), pp. 69-73 (5 pages)
https://www.jstor.org/stable/2346304
Revealing the Mystery of Linear Programming – workhorse of modern supply chain management and emerging data science technology
https://www.linkedin.com/in/ken-fordyce-bb07b010/recent-activity/documents/
------------------------------
Ken Fordyce
director analytics without borders
Arkieva
Wilmington DE
------------------------------