Systems and methods for solving multi-objective hierarchical linear programming problems using previously-solved solution information
A system and method of solving supply chain planning problems modeled as multi-objective hierarchical linear programming problems receive supply chain input data for a supply chain planning problem, solve a first multi-objective hierarchical linear programming problem, store a cumulative list of bound changes, receive changes to the supply chain input data, model a second supply chain planning problem as a second multi-objective hierarchal linear programming problem based, at least in part, on the one or more changes to the supply chain input data, derive an intermediate objective based, at least in part, on the cumulative list of bound change, and solve the second multi-objective hierarchical linear programming problem, using the basis of the solved intermediate objective.
1 . A system for performing a base run of a multi-objective hierarchical linear programming problem, comprising:
one or more imaging devices comprising one or more electronic devices configured to receive imaging information from one or more sensors, the one or more imaging devices configured to generate a mapping of one or more items to determine a current location of the one or more items at one or more supply chain entities;
a computer, comprising a processor and memory, and configured to:
receive supply chain input data for a supply chain planning problem;
model the supply chain planning problem as a multi-objective hierarchal linear programming problem comprising a first base run objective and at least one additional base run objective, and based, at least in part, on the supply chain input data;
solve the multi-objective hierarchical linear programming problem for the first base run objective and the at least one additional base run objective, wherein the first base run objective and the at least one additional base run objective comprise two or more of: improving demand satisfaction, minimizing a use of alternatives and performing just-in-time planning;
generate variable lists comprising a cumulative list of bound changes, a list of common variables, and a list of current run only variables;
store the cumulative list of bound changes in the computer memory during the solve of the multi-objective hierarchical linear programming problem;
receive one or more changes to the supply chain input data;
model a second supply chain planning problem as a second multi-objective hierarchal linear programming problem based, at least in part, on the one or more changes to the supply chain input data, wherein the second multi-objective hierarchical linear programming problem comprises a first Run2 objective and at least one additional Run2 objective;
identify common variables and non-common variables, wherein an intermediate objective is a minimization of weighted sums of categorized common and non-common variables, and wherein the weighted sums of categorized common and non-common variables comprise:
a first category comprising common variables fixed at a lower bound;
a second category comprising common variables fixed at an upper bound;
a third category comprising common variables that are not fixed to an upper bound or to a lower bound; and
a fourth category comprising non-common variables, wherein non-common variables are variables present in the second multi-objective hierarchical linear programming problem and not present in the first multi-objective hierarchical linear programming problem;
derive the intermediate objective based, at least in part, on the cumulative list of bound changes;
increase linear programming problem solution speed using an optimization API by:
solving the second multi-objective hierarchical linear programming problem for the intermediate objective; and
solving the second multi-objective hierarchical linear programming problem, using a basis of the solved intermediate objective, for at least the first Run2 objective;
receive product data from automated robotic machinery comprising at least one sensor, wherein the product data corresponds to an item of the one or more items detected by the automated robotic machinery;
generate a first mapping and a second mapping of the item, the first mapping associated with a first current location of the item, and the second mapping associated with a second past location of the item;
compare the first mapping and the second mapping to determine if the first current location of the item is different from the second past location of the item;
monitor one or more supply chain constraints of the one or more items at the one or more supply chain entities and adjust a current inventory of the one or more supply chain entities by sending instructions to the automated robotic machinery based, at least in part, on the one or more supply chain constraints and one or more differences between the first mapping and the second mapping;
in response to sending the instructions to the automated robotic machinery, automatically locate items to add or remove from the current inventory of the one or more supply chain entities; and
automatically add or remove, by the automated robotic machinery, the automatically located items from the current inventory.
2 . The system of claim 1 , wherein the multi-objective hierarchical linear programming problem comprises objectives, constraints, and bounds.
3 . The system of claim 1 , wherein the cumulative list of bound changes comprises a name and a status for each variable.
4 . The system of claim 1 , wherein the computer is further configured to:
set a variable to a lower bound after solving an objective when increasing a value of the variable causes degradation for the objective.
5 . The system of claim 1 , wherein the computer is further configured to:
set a variable to an upper bound after solving an objective when increasing a value of the variable causes improvement for the objective.
6 . A method for performing a base run of a multi-objective hierarchical linear programming problem, comprising:
providing one or more imaging devices comprising one or more electronic devices configured to receive imaging information from one or more sensors, the one or more imaging devices configured to generate a mapping of one or more items to determine a current location of the one or more items at one or more supply chain entities;
receiving, by a computer comprising a processor and memory, supply chain input data for a supply chain planning problem;
modeling, by the computer, the supply chain planning problem as a multi-objective hierarchal linear programming problem comprising a first base run objective and at least one additional base run objective, and based, at least in part, on the supply chain input data;
solving, by the computer, the multi-objective hierarchical linear programming problem for the first base run objective and the at least one additional base run objective, wherein the first base run objective and the at least one additional base run objective comprise two or more of: improving demand satisfaction, minimizing a use of alternatives and performing just-in-time planning;
generating, by the computer, variable lists comprising a cumulative list of bound changes, a list of common variables, and a list of current run only variables
storing, by the computer, the cumulative list of bound changes in the computer memory during the solve of the multi-objective hierarchical linear programming problem;
receiving, by the computer, one or more changes to the supply chain input data;
modelling, by the computer, a second supply chain planning problem as a second multi-objective hierarchal linear programming problem based, at least in part, on the one or more changes to the supply chain input data, wherein the second multi-objective hierarchical linear programming problem comprises a first Run2 objective and at least one additional Run2 objective;
identifying, by the computer, common variables and non-common variables, wherein an intermediate objective is a minimization of weighted sums of categorized common and non-common variables, and wherein the weighted sums of categorized common and non-common variables comprise:
a first category comprising common variables fixed at a lower bound;
a second category comprising common variables fixed at an upper bound;
a third category comprising common variables that are not fixed to an upper bound or to a lower bound; and
a fourth category comprising non-common variables, wherein non-common variables are variables present in the second multi-objective hierarchical linear programming problem and not present in the first multi-objective hierarchical linear programming problem;
deriving, by the computer, the intermediate objective based, at least in part, on the cumulative list of bound changes;
increasing, by the computer, linear programming problem solution speed using an optimization API by:
solving, by the computer, the second multi-objective hierarchical linear programming problem for the intermediate objective; and
solving, by the computer, the second multi-objective hierarchical linear programming problem, using a basis of the solved intermediate objective, for at least the first Run2 objective;
receiving, by the computer, product data from automated robotic machinery comprising at least one sensor, wherein the product data corresponds to an item of the one or more items detected by the automated robotic machinery;
generating, by the computer, a first mapping and a second mapping of the item, the first mapping associated with a first current location of the item, and the second mapping associated with a second past location of the item;
comparing, by the computer, the first mapping and the second mapping to determine if the first current location of the item is different from the second past location of the item;
monitoring, by the computer, one or more supply chain constraints of the one or more items at the one or more supply chain entities and adjusting, by the computer, a current inventory of the one or more supply chain entities by sending instructions to the automated robotic machinery based, at least in part, on the one or more supply chain constraints and one or more differences between the first mapping and the second mapping;
in response to sending, by the computer, the instructions to the automated robotic machinery, automatically locating, by the computer, items to add or remove from the current inventory of the one or more supply chain entities; and
automatically adding or removing, by the automated robotic machinery, the automatically located items from the current inventory.
7 . The method of claim 6 , wherein the multi-objective hierarchical linear programming problem comprises objectives, constraints, and bounds.
8 . The method of claim 6 , wherein the cumulative list of bound changes comprises a name and a status for each variable.
9 . The method of claim 6 , further comprising:
setting, by the computer, a variable to a lower bound after solving an objective when increasing a value of the variable causes degradation for the objective.
10 . The method of claim 6 , further comprising:
setting, by the computer, a variable to an upper bound after solving an objective when increasing a value of the variable causes improvement for the objective.
11 . A non-transitory computer-readable medium embodied with software for performing a base run of a multi-objective hierarchical linear programming problem, the software when executed:
receives imaging information by one or more imaging devices from one or more sensors, wherein the one or more imaging devices comprise one or more electronic devices, and wherein the one or more imaging devices are configured to generate a mapping of one or more items to determine a current location of the one or more items at one or more supply chain entities;
receives supply chain input data for a supply chain planning problem;
models the supply chain planning problem as a multi-objective hierarchal linear programming problem comprising a first base run objective and at least one additional base run objective, and based, at least in part, on the supply chain input data;
solves the multi-objective hierarchical linear programming problem for the first base run objective and the at least one additional base run objective, wherein the first base run objective and the at least one additional base run objective comprise two or more of: improving demand satisfaction, minimizing a use of alternatives and performing just-in-time planning;
stores the cumulative list of bound changes in computer memory during the solve of the multi-objective hierarchical linear programming problem;
receives one or more changes to the supply chain input data;
models a second supply chain planning problem as a second multi-objective hierarchal linear programming problem based, at least in part, on the one or more changes to the supply chain input data, wherein the second multi-objective hierarchical linear programming problem comprises a first Run2 objective and at least one additional Run2 objective;
identifies common variables and non-common variables, wherein an intermediate objective is a minimization of weighted sums of categorized common and non-common variables, and wherein the weighted sums of categorized common and non-common variables comprise:
a first category comprising common variables fixed at a lower bound;
a second category comprising common variables fixed at an upper bound;
a third category comprising common variables that are not fixed to an upper bound or to a lower bound; and
a fourth category comprising non-common variables, wherein non-common variables are variables present in the second multi-objective hierarchical linear programming problem and not present in the first multi-objective hierarchical linear programming problem;
derives the intermediate objective based, at least in part, on the cumulative list of bound changes;
increases linear programming problem solution speed using an optimization API by:
solving the second multi-objective hierarchical linear programming problem for the intermediate objective; and
solving the second multi-objective hierarchical linear programming problem, using a basis of the solved intermediate objective, for at least the first Run2 objective;
receives product data from automated robotic machinery comprising at least one sensor, wherein the product data corresponds to an item of the one or more items detected by the automated robotic machinery;
generates a first mapping and a second mapping of the item, the first mapping associated with a first current location of the item, and the second mapping associated with a second past location of the item;
compares the first mapping and the second mapping to determine if the first current location of the item is different from the second past location of the item;
monitors one or more supply chain constraints of the one or more items at the one or more supply chain entities and adjusts a current inventory of the one or more supply chain entities by sending instructions to the automated robotic machinery based, at least in part, on the one or more supply chain constraints and one or more differences between the first mapping and the second mapping;
in response to sending the instructions to the automated robotic machinery, automatically locates items to add or remove from the current inventory of the one or more supply chain entities; and
automatically adds or removes, by the automated robotic machinery, the automatically located items from the current inventory.
12 . The non-transitory computer-readable medium of claim 11 , wherein the multi-objective hierarchical linear programming problem comprises objectives, constraints, and bounds.
13 . The non-transitory computer-readable medium of claim 11 , wherein the cumulative list of bound changes comprises a name and a status for each variable.
14 . The non-transitory computer-readable medium of claim 11 , wherein the software when executed is further configured to:
set a variable to a lower bound after solving an objective when increasing a value of the variable causes degradation for the objective.
15 . The non-transitory computer-readable medium of claim 11 , wherein the software when executed is further configured to:
set a variable to an upper bound after solving an objective when increasing a value of the variable causes improvement for the objective.