Download presentation
Presentation is loading. Please wait.
1
Optimization technology Recent history dates back to invention of Operations Research (OR) techniques by mathematicians such as George Dantzig (1940’s) Recent history dates back to invention of Operations Research (OR) techniques by mathematicians such as George Dantzig (1940’s) Mathematical programming techniques from OR have provided the basis for most optimization solutions in 1950’s, 1960’s and 1970’s Mathematical programming techniques from OR have provided the basis for most optimization solutions in 1950’s, 1960’s and 1970’s Constraint programming (invented in the 1970’s by computer scientists such as Mackworth, Montanari and Waltz) has grown in popularity in the commercial setting since the 1980’s. Constraint programming (invented in the 1970’s by computer scientists such as Mackworth, Montanari and Waltz) has grown in popularity in the commercial setting since the 1980’s. Agent technology has become recognized as an alternative basis for solving optimization problems since the 1990’s Agent technology has become recognized as an alternative basis for solving optimization problems since the 1990’s
2
An example Optmization in the steel industry Optmization in the steel industry
3
Basic elements of an optimization problem Identify the decision variables – finding a value for each of these constitutes a solution to the problem Identify the decision variables – finding a value for each of these constitutes a solution to the problem Identify the set of constraints – these determine what the allowed combinations of values are for the decision variables. The language for writing constraints depends on the specific optimization technique. Ex: Linear programming only allows us to write constraints in the form of linear inequalities (e.g., x + y < 10). Identify the set of constraints – these determine what the allowed combinations of values are for the decision variables. The language for writing constraints depends on the specific optimization technique. Ex: Linear programming only allows us to write constraints in the form of linear inequalities (e.g., x + y < 10). Identify the objective function. This is function to be maximized or minimized, e.g. maximize profit, or minimize cost. Identify the objective function. This is function to be maximized or minimized, e.g. maximize profit, or minimize cost.
4
Supply chain optimization Business objective: improve supply chain efficiency (velocity ?), optimize operation of the supply chain Business objective: improve supply chain efficiency (velocity ?), optimize operation of the supply chain Metrics for efficiency - what do we optimize ? Metrics for efficiency - what do we optimize ? –Define the problem in terms of decision variables –Define an objective function in terms of the decision variables. The goal would be to maximize or minimize the value of this function, i.e., to find an allocation of values to the decision variables such that the value of this function is either maximized or minimized. –Supply chain optimization is the continuous process of seeking optimal allocations of values to decision variables
5
Common optimization problems: I Long-term planning (time-frame: several months/years): Long-term planning (time-frame: several months/years): –Questions: »How much of each product type should I manufacture ? When ? Where ? (Assumes a network of manufacturing centers with potential duplication of manufacturing capability) »How much should I keep in inventory (both for manufacturing inputs and outputs) ? Where ? (Assumes a distributed network of warehouses) –Constraints: »Capacity constraints (both manufacturing and inventory) »Demand profile »Process constraints (downtimes, planned outages) »Supply variability –Objectives: Profit/revenue maximization, maximizing asset utilization, minimization of deviation from demand profile, minimization of deviation from target inventory profile
6
Common optimization problems: II Medium-term planning/scheduling (time-frame: a few months/weeks): Medium-term planning/scheduling (time-frame: a few months/weeks): –Similar to long-term planning, but with scheduling constraints and objectives added Unit scheduling/reactive scheduling: Unit scheduling/reactive scheduling: –Questions: »In what sequence should orders/jobs be manufactured ? Which job should I process on a given production unit at a given point in time ? Should I go into overtime ? –Constraints: »Capacity constraints »Sequencing constraints »Orders + deadlines »Process constraints (downtimes etc.) –Objectives: Minimize makespan (i.e., maximize asset utilization), minimize deviation from order deadlines, maximize profit/revenue
7
Common optimization problems: III Shipping: Shipping: –How do I allocate orders to trucks ? –What routes should trucks travel on ? –How do I allocate truck to routes ?
8
Major classes of optimization techniques: From the field of operations research (OR) From the field of operations research (OR) –Linear programming –Integer programming…. From the field of artificial intelligence (AI) From the field of artificial intelligence (AI) –Constraint programming –Heuristic search techniques
9
Why constraint programming: I Operations research (OR) techniques guarantee optimality, but solve an approximation of the real problem Operations research (OR) techniques guarantee optimality, but solve an approximation of the real problem OR techniques operate in “black box” mode – no operator intervention OR techniques operate in “black box” mode – no operator intervention OR techniques are brittle OR techniques are brittle OR techniques cannot be interrupted to obtain partial solutions OR techniques cannot be interrupted to obtain partial solutions
10
Why constraint programming: II Robust handling of inputs Robust handling of inputs –Avoid giving up if the problem is too hard Incremental re-solving Incremental re-solving –Avoid starting from scratch if there is a small change to the problem inputs Mixed-initiative solving Mixed-initiative solving –Allow the operator full control over the problem solving process –Ask the operator for guidance when there isn’t enough information to generate a solution
11
Why constraint programming: III Generating (partial) solutions in real-time Generating (partial) solutions in real-time –Allow the operator to interrupt and obtain a (good) partial solution if the solving process takes too long “What-if” analysis “What-if” analysis –Allow the operator to generate hypothetical scenarios (e.g. What would the roster look like if John gets the Wednesday evening shift ?) –Support the merging of hypothetical scenarios User-friendly interfaces User-friendly interfaces
12
Constraint programming: Internals Identify the variables of interest (the decision variables) Identify the variables of interest (the decision variables) Identify the variable domains (the sets from which these variables might be assigned values) Identify the variable domains (the sets from which these variables might be assigned values) Identify the relevant constraints on these variables. Ex: X= Y + 2 Identify the relevant constraints on these variables. Ex: X= Y + 2OR (X=a AND Y=b) OR (X=c AND Y=d)
13
Example: Scheduling Variables: {Astart, Aend, Bstart, Bend} Variables: {Astart, Aend, Bstart, Bend} Domains: {1,2, …, 24} for each variable Domains: {1,2, …, 24} for each variable Constraints: Constraints: –Aend - Astart = 1 –Astart > 8 –Aend < 13 –Bend - Bstart = 1 –Bstart > 8 –Bend < 13 –Bstart - Aend = 1
14
Constraint-based Optimization: I Specify an objective function to be maximized (e.g. profit or resource utilization) or minimized (e.g. cost or cycle-time) Specify an objective function to be maximized (e.g. profit or resource utilization) or minimized (e.g. cost or cycle-time) Constraint-based optimization techniques search through a space of increasingly better solutions Constraint-based optimization techniques search through a space of increasingly better solutions –And can be interrupted to obtain the current best solution
15
Constraint-based Optimization: II Transforming an optimization problem to a satisfaction problem: Transforming an optimization problem to a satisfaction problem: –Identify the current value of the objective function f(S) under the current solution S –Post a new constraint f(X) > f(S) (where X is the signature of the objective function f) –Search for a new solution to the satisfaction problem –Iterate until the satisfaction problem becomes unsolvable (or when the marginal improvement over each iteration drops below a threshold) (Observe that this procedure can be interrupted at any time to obtain the current best solution)
16
Example: Over-constrained scheduling Variables: {Astart, Aend, Bstart, Bend} Variables: {Astart, Aend, Bstart, Bend} Domains: {1,2, …, 24} for each variable Domains: {1,2, …, 24} for each variable Constraints: Constraints: –Aend - Astart = 1 –Astart > 8 –Aend < 13 –Bend - Bstart = 1 –Bstart > 8 –Bend < 13 –Bstart - Aend = 2
17
Soft constraints When a problem is over-constrained, some constraints have to be violated. When a problem is over-constrained, some constraints have to be violated. –“If at all possible, I’d like to do my talk at 11am” Even when a constraint is violated, we do not have to deviate too far from it Even when a constraint is violated, we do not have to deviate too far from it
18
Supply chain optimization: Market agents Market-oriented programming (Wellman et al) exploits market models in multi-agent computational economies to solve distributed resource allocation problems. Market-oriented programming (Wellman et al) exploits market models in multi-agent computational economies to solve distributed resource allocation problems. The only agent interactions are trading interactions by offering to buy or sell commodities at fixed prices. The only agent interactions are trading interactions by offering to buy or sell commodities at fixed prices. When the system reaches equilibrium, the current allocations of commodities to agents represents a solution to the distributed resource allocation problem. When the system reaches equilibrium, the current allocations of commodities to agents represents a solution to the distributed resource allocation problem. Applications: –Truck despatch in open-pit mines –Courier truck despatch A hybrid market-oriented and constraint-based solution A market mechanism such as a sealed- bid auction determines initial allocation of tasks to trucks. Computing bids requires constraint solving Near-optimality of task allocations must be maintained in a dynamic environment. This is achieved via a market mechanism where task allocations are traded Determining whether a trade is feasible requires constraint solving
19
Some vendors of optimization systems ILOG ILOG ConstraintWorks ConstraintWorks Cosytec Cosytec Numetrix (now part of JDEdwards) Numetrix (now part of JDEdwards) SAP SAP Peoplesoft Peoplesoft Baan Baan
20
The end Questions?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.