Beruflich Dokumente
Kultur Dokumente
Implementation Guide
An Oracle White Paper
May 2008
OVERVIEW.
It is important to note that this document does not replace PS training or the PS
user guides. This document is a compliment to, and is not a replacement for the
documentation.
IMPLEMENTATION DIVERSITY.
Implementations vary from industry to
industry and organisation to organisation.
This paper attempts to capture common
threads and experiences to enable
successful implementations across a
diverse range of implementations.
Page 2
User acceptance test criteria Successful testing is key to avoiding a golive tragedy. This section describes some common user acceptance tests.
Page 3
This does NOT include administrative tasks such as project management, project start-up, project closure etc.
This is based on legacy type integration, EBS and E1/SCBM type implementations would follow the same steps but the tasks may be simplified.
Some Key Players may be marked (), this implies that these roles have a lesser level of involvement in this task than the other roles.
Stage/Task
User Requirement
Gathering
Key Players
Project Sponsor
Scheduling Leads
Senior Consultant
Senior ERP Consultant
Notes
Identify the nature/number of the PS model(s)
What is the objective of each PS model
The Horizon for each model
An understanding of the organisations scheduling environments
Purchasing and Lead Times
Manufacturing Stages
Inventory Policies and Storage constraints
Purchasing lead time constraints, critical raw materials
Demand points
An understanding of key issues in the supply chain
Scheduling Objectives
Bottle Necks (red flag)
Demand Prioritization
Work Centre/ Crew strategy
What resources are modeled as individual resources or as a collection of resources
Batchable Resources Attributes for batchable resources
Overtime policies manufacturing calendars
Outsourcing (red flag)
Manufacturing batches/run length considerations (red flag)
Government/Ecological/Legal constraints
(water consumption restrictions/ restrictions on operating hours for certain operations)
Interfaces into other systems
Purchasing Suppliers/Lead Times/Prices/Contracts/
Current purchase orders/Stock in-transit
Manufacturing Representation Machines/Crews/BOMs/Routings
Inventory Master and Transaction information Inventory Levels/Product in QA/warehouse transfers/
Safety Stock Levels/Warehouse Capacities (red flag)
Demand sources and types
Resources: Pre Implementation Questionnaire (described in a later section)
Page 2
PS Consultant
Functional Lead
In order to maximise the chances of a successful implementation, customer functional leads and their backup (red
flag) must be thoroughly familiar with the PS application, the models and how to analyse/problem solve the
models.
The training is just the first step in this process.
This training is reinforced in the remaining project stages by being intimately involved in:
Developing the prototype,
Working with input/output data and the associated integration
Leading the unit and system testing process.
KPI Collection/Customer
Profile
PS Consultants
PS Consultants
Functional Lead
ERP Consultants
Resources:
Schedule Success Criteria (section later in this document)
Customer Profile Template
It is important to prototype the solution in order to:
1. Validate that the applications behaviour is as expected by the consultant and
2. A validation by the customer of the results expected from the model
3. Continuing in-depth training regime of the software for the functional leads
In order to make the prototype as successful as possible, as realistic data as possible should be used in the building
of the data. This
1. Confirms the source of data identified in the Requirements gathering stage
2. Identify complications expected in the transformation of the raw data to the form required by PS
3. Assessment of data quality/consistency (red flag)
4. Identify technical/timing issues with data availability (e.g. FTP etc.)
5. Identify what data will need to be manually maintained
Page 3
Prototype
Development/Validation
PS Consultant
Functional Lead
PS Consultant
Functional Leads
ERP Consultants ()
A key part of the project where user requirements meets product functionality. This requires sign off from the
customer before moving into integration development.
PS Consultant
Functional Lead
User Acceptance Tests need to be developed for both functional tests (internal to model/PS) and system tests
(integration with external components). These should be defined before the model prototype is actually built and
executed on the prototype as well, so you should probably move this section
These should be incorporated into the model design, so that the customer commits to the testing regime at the
same time they are committing to the model design.
Page 4
Integration Development
PS Consultant
ERP Consultant
Functional Leads ()
Schedule Tuning
PS Consultant
ERP Consultant ()
Functional Lead
Critical to a successful implementation is a comprehensive documented testing regime, which is signed off by the
user and key management staff.
PS Consultant
Functional Lead
A key part of the implementation is the tuning of the model once it has been created. Tuning options can include
but are not limited to:
Setting the Solver Sequence
Configuring Solver options (JIT vs. WIP)/ Cycle Times etc.
Setting of costs against machines/crews/tools and items
Scaling of Costs for CRO machines and items
Solver options on machines/crews and tools
A list of common user acceptance tests can be found in the chapter User Acceptance tests for PS projects.
This is an iterative process that requires close collaboration between the consultant/functional lead/schedulers.
Documentation
PS Consultant
Functional Lead
Critical to ensure ongoing success of the solution once the consultants depart and when key customer personnel
leave/take on new roles.
User Training
PS Consultants
Functional Leads
If functional leads and their back-ups are heavily committed in the prototyping/ development and testing stages
then this should not be required.
All
Go Live Support
All
The time required for this is directly related to the quality and time spent in the previous steps in the project.
Solution Refinement
PS Consultant
Functional Lead
PS Consultant
Functional Lead
After the solution has stabilized, users will have identified some areas for improvement. Now that users have a
better understanding of the system, the need for and the benefit of enhancements can now be evaluated.
This would occur several months after the go-live when the results of the planning solution have made an impact
on the organisation.
This is an evaluation of the success or failure of the project against the KPIs identified at the beginning of the
project.
At this time, a project summary should be prepared and any reference material prepared and agreed to with the
customer.
KPI Evaluation
Page 5
Page 6
PRE-IMPLEMENTATION QUESTIONNAIRE
The pre-implementation questionnaire
facilitates building project estimates and
starting the implementation. It is a useful
document for handling the Sales and
Consulting transition.
The pre implementation questionnaire can be found at the same location as this
document.
Page 2
Before you focus on creating a model, you should have a clear vision of what the
objective is of the schedule is. It is possible to have many objectives, but initially
you should just focus on just one or two, and drive the model to deliver these
objectives, at a later time the model can be extended to account for secondary
objectives.
It is important at a very early stage of the implementation to identify what would
define the implementation as been a success. The success criteria should align with
the implementation objectives.
Success Criteria are covered in the pre-implementation questionnaire and in
particular the metrics sections. However success criteria deserve additional mention
in this document.
Questions that need to be asked are:
How do you schedule now
Are you looking to retain the base scheduling strategy or is this an opportunity
to implement a different approach to scheduling
o Current scheduling strategies may be unsustainable given company
growth/departmental restructuring
o New approaches raise additional risk,
Where does your current scheduling process have problems now?
What is the definition of a successful schedule?
o Minimize changeovers
What is the typical product cycle time?
What percentage of available time do changeovers take now
What is the target percentage of available time for
changeovers in the new paradigm
o Maximize throughput
How is throughput measured?
What if the new scheduling process results in excess capacity,
is that capacity to be used on what products?
What is your current throughput
What is the target throughput
o Maximize Resource Utilization
On all or specific resources?
How is utilization measured?
What is current utilization
What is the target utilization?
o Minimize WIP or Finished Goods Inventory levels
What product groups are we trying to minimize
What are the current inventory levels
What is the target
Is this achieved through JIT or some other scheduling
process
Would you tradeoff carrying additional inventory over
minimizing changeovers?
Page 3
Page 4
Routings
Are primary operations defined
Are temporal relations correctly defined
Are S@E and S@S relationships avoided
Check that temporal constraints are logical
Demands
Are past active demands present
Are demands that would expect to be scheduled within the horizon of the
model present
Page 2
Does the Request date represent the time it needs to be off the factory
floor in order to meet the customers requested date (does it take into
account post production time delays etc.).
Are the earliest and latest dates specified appropriately (typically these
should be null)
Work Orders
Are demands present when they are associated with a works order
Are the capacity required/ times/consumption rates correct
Are the materials listed, including where alternates exist
Are resources, including alternates, present
Changeovers
Are all the changeovers represented correctly
If CRO is optimising on cost, are costs correct relative to each other.
Log File
Is the model loaded with no errors/warnings
Solution Quality
Is the schedule look as if it is achieving the goal (minimize change over
etc.)
Does the overall order fill rate meet expectations
Does the resource utilization fill rate meet expectations
Publish
Does publish update the ERP system without errors
General
Take a typical product, analyze in depth the
o Routings
o Operations
o Demand
o Work Orders
o Purchase Orders
o Test the sample product
Deactivate all demands
Deactivate all work orders
Set starting inventory for the Finished Good to zero
Set starting inventory for WIP products to zero
Create a single demand line of a typical run quantity
Solve
Validate the resulting schedule
Page 3
As a general rule maximum inventory levels may be set, but the constraint should
be marked as relaxed. Typically the solver will not produce excess inventory if
pull forward windows etc., are set correctly. However enforcing a maximum
inventory level may lead to significantly increased solve times, typically with
negligible return.
Similarly, the use of shared storage spaces increases solve times and should be
avoided unless necessary.
Non Critical Raw Materials.
As a general rule, if the presence of a raw material can be taken for granted such
that it is not a concern for the scheduler then that raw material should not be
included in the model
Including unconstrained raw materials increases the size of the model, increases
solve times and makes navigation more difficult, and so unconstrained raw
materials should be avoided when they are not critical.
Page 4
Given these, we can assume any supply required beyond the lead-time can be
infinite, as if we need more we can just order more. Therefore in order to avoid
impacting solve times, the order multiple should be set at a very large number to
keep the number of operations down
It needs to be remembered that although Production Scheduling contains
purchasing type information, this is needed in order to support scheduling
decisions and is not intended to be used as an MRP substitute.
Page 5
resources
When creating production campaigns, the solver dynamically calculates the tradeoff between:
Carrying inventory
Missing demand
Only bottleneck resources should be marked for solving using the CRO
option.
It is critical that only ONE resource across a given items material flow is
marked as being a CRO resource.
o
CRO uses a bucketed system for the initial model. The user defines the
bucket size and CRO will optimize manufacturing and inventory holding
within the buckets.
Page 6
week long and there is a demand on Tuesday, the solver will consider itself
to having to produce the product by Friday.
A post solver process will attempt to fix any late deliveries due to the
bucketed approach but this is not guaranteed.
When using CRO, a single activity MUST not exceed the size of the CRO
bucket.
In the Scenario Horizon properties there is the ability to specify the First Cycle
Start Time. This is an important field for CRO, it defines the starting time when
calculating the buckets.
The power point Oracle Production Scheduling Campaign Run Optimization
Overview.ppt gives a good overview of the CRO process, the setup and
limitations.
Multi Capacity versus unique resources.
Where a resource has multi-capacity then the user needs to determine how to
model the resource. Multi-capacity simply means the number of simultaneous
operations that can be run on a resource at a given point in time.
If a resource is modeled as a multi capacity resource then the resource will be
scheduled as a collective. The user will specify the number of resources available
and the scheduler will schedule within that capacity. The schedule views will
indicate the level of usage (e.g. 50% of the resources are in use) however the
schedule will not be able to specify which particular resource a job is running on.
If the users wants to be able to see which resource a job is on, or wants the publish
process to update a specific machine against the job then the machines need to be
modeled as individual resources.
Multi Capacity Resources cannot be used when defining changeovers.
Page 7
Solve Sequences.
In some cases, the customer has specific requirements as to how the schedule
should be generated and this may involve solving the problem in a particular
sequences.
From a resource perspective, Production Scheduling generically considers all crew,
machine, tool capacity and calendar constraints simultaneously when sequencing
operations. Focusing and resolving the most critical constraints in the scheduling
horizon has generally been regarded as the most effective scheduling strategy to
resolve multi-stage floating bottleneck problems when sequencing operations.
Addressing the more critical problems first results into the sequencing problems
being broken down into smaller sub-problems, which are generally speaking
easier to resolve.
However, it sometimes is desirable for users to be able to dictate to the PS solver
which resources to focus on first when creating a schedule as opposed to having
the solver simultaneously consider all constraints and potentially jump between
resources when contention levels dictate. Supporting resources may be considered
secondary by the user in terms of the priority of having their constraints considered
during the solve process.
Users sometimes accomplished this via the user manually performing multiple
solves in conjunction with the ability to relax / activate resource constraints.
Typically, users would first perform a cold solve with all resource constraints
relaxed except for dedicated bottleneck resources. Once the first-pass solve was
complete, the user manually activated constraints for supporting upstream /
downstream resources incrementally and performed a repair solve for incremental
constraint activation, essentially a solve stage. This sometimes resulted in
improved solution quality when compared to generic solver functionality.
Solve Sequences allows the user to specify solve stages and then assign resources to
those stages.
Page 8
Unfortunately, there isnt necessarily a black and white answer as to when the best
time to use this functionality. As a general rule of thumb, if you are not satisfied
with overall first pass schedule quality using PS generic solver logic, it may be a
good idea to set this up for various solver trials. Generally speaking, the order in
which to the constraints should be solved is the following sequence below. Of
course, the optimal sequence will result from testing various solve stage
permutations and order of resources solved.
Once you reach the end, work your way back upstream from the
bottleneck resource.
Page 9
Peanuts Salted
Packing Line 1
WIP Operator
Sales Peanuts 6oz
1906 units
1 hour
100 Bags
If the natural production multiple for this item is batches of 100 bags then the lot
multiple will be 1. In which case the Operation diagram would look like:
Page 10
If there were 500 units of demand for this product, then the schedule would have 5
(500/100) instances of this operation.
Page 11
Now, if the Lot multiple changes to 2, (but we leave the time as the same [ 1
hourso effectively the line is now running at double the previous speed]) the
picture changes significantly.
Each instance will now produce 200 units not 100 units. The materials consumed
will now be doubled as well (3812 rather than 1906). However unless the duration
has been changed to reflect the time to take the 200 units, the one hour relates to
the time taken to make 2 lot multiples, that is the it now takes one hour to make
200 units not two hours.
Page 12
As the operation now needs to produce 2 lot multiples worth of product, the
operation instances will produce 200 each, so for the demand of 500, we will now
manufacture 600 and there will be 100 units of surplus inventory.
Page 13
Page 14
Page 15
In order for the pegging to work correctly, it is essential that each routing
be associated with a primary output and a primary operation. Pegging
enables you to view all of the item resources and operations associated with
each line item in a demand order, and how they have been allocated.
Page 16
When there is a multi step manufacturing process. There are two options on how
to set them up: with an intermediate inventory or with operations directly linked.
Mix WIP
Make WIP
Make
Pack
Pack
Make
Use this method when there is a significant lag between two operations
and the WIP inventory is counted and stored in inventory (ERP inventory
pay point)
There should be one routing for each set of set of operations that produce
an inventory item
Taking the above three stage manufacturing system but altered so the
Mix WIP product is consumed immediately by the Make process but the
Page 17
Make WIP can be stored in inventory. In this case two routings would
be used, the Mix/Make routing would only produce the Make WIP
product with no intermediate product between the Mix and the Make
operations.
Mix
Make
Take another situation where the output of the Make process is still
stored in inventory and the Mix product is consumed immediately but
there is a requirement for a two-hour cool down before the product can be
packed. In this case, two routings would be used again, there would be no
intermediate product between Mix and Make but an extra operation
would need to be added after the Make operation. The new operation
would produce the Make-WIP product. The link between Make and
the new operation would specify the cooling period.
Note: There is one problem with this, the inventory will not appear until
after the cooling off period. If it was an absolute requirement to also see
the inventory in the cool down state, then the following is a possible work
around.
Cooling Time
2 hours min separation
Make-Cool WIP
Make-Cool
0 duration
Unconstrained Resource
The sum of the inventory levels Make Inventory Item and Make-Cool
WIP would equate to the actually inventory level for Make Inventory
Item
Unbalanced intermediate Inventory levels.
Page 18
However take the example of where Operation A produces 15 units, but Operation
B consumes only 10 units, in this case every instance of the routing will generate an
excess of 5 intermediate inventories. And the intermediate inventory levels will
continue to grow infinitely:
Page 19
Within any operation in any given routing, you have the ability to setup an
operation lot multiple. When you set these up within the context of a given
routing, they should be set to the same value, as the lot multiple for all intents and
purposes is a routing attribute.
Assume the following manufacturing example:
When you setup a lot multiple on an operation (as set to 25 on Operation C), it
means the operation will yield 25 units of finished good when the operation
completes after 4 hours. Basically, if produced or consumed items are present
within this operation, they will be scaled by a factor of 25. (i.e. You set the material
consumption quantity according to 1 unit of output of finished good and the lot
multiple will automatically scale the material inputs). However, since all operations
on the routing will run every time this routing is instantiated, you should set all lot
multiples to 25 (if they produce or consume inventory) otherwise the material
quantities (such as Material X in Operation A) will not be scaled properly.
In this particular example, 18.75 units of Material X are required in the first
operation of the routing that makes Item A. The lot multiple is still set to 25 on
the operation, but will scale the quantity of Material X on defined on the arc by 25
(in this case, 18.75 units are required).
Page 20
Getting the correct lot size and the impact on solve times.
This section discusses how operations can be set up and the use of lot multiples.
Large lot sizes have a significant impact on decreasing solve times, while at the
same time large lot sizes also affects surplus inventory production/excess
manufacturing times.
Solve Times
Excess Production
Exaggerated Resource
Usage
Lot
Multiples
Traditionally the lack of planning in this area has resulted in poor solve
times.
Many people set the lot multiple to an operation as one unit of output as this gives
the ultimate flexibility, to make exactly what has been demanded. However this
precision needs to be balanced against the impact on the solver.
To understand the impact of the solver it is important to understand how the
solver works. Take the following scenario:
500 units of demand for a product.
The manufacture time per unit is 2 minutes
The operation has an output quantity and lot multiple of one.
In this case, the solver will internally create 500 instances of the operation to satisfy
this demand. All these instances need to be sequenced etc. by the solver
Now extend this to other products, if they had similar run times, then for a four
week schedule, the solver would be looking at sequencing up to 5000 operations
for a single resource, extend this to multiple resources when there are multiple
production lines and multiple manufacturing stages and the number of instances
increases significantly.
The number of operation instances to be scheduled directly affects the solve
times.
Page 21
As a ROUGH guide when initially looking at what an appropriate lot size would be
for an implementation, the number of operation instances should be below 50,000.
To work out what this means in terms of a particular implementation you need to
consider the:
Then try to set the lot multiples such that for the number of operation instances is
below the target of 50000 (approx).
The following gives an idea on the impact of the number of operations on solve
times:
Customer Model 1 - This model has ~500 operations. It solves in 5 seconds.
Customer Model 2 - This model has ~1600 operations. It solves in 2 minutes.
Customer Model 3 - This model has ~30,000 operations. It solves in 20 minutes
Customer Model 4 - This model has ~21,000 operations. It solves in 45 minutes.
Customer Model 5 - This model has ~2000 operations. It solves in 10 minutes.
Customer Model 6 - This model has ~220 operations. It solves in 2 seconds.
Customer Model 7 - This model has ~300 operations. It solves in 1 second.
From a hardware sizing perspective, as a general rule, PS does not consume a lot
memory so most computers can handle reasonably large models, however solve
times are directly related to CPU speed. So the fastest reasonable CPU should be
use for PS computers.
If the solver spends a long time at the phase Assigning resources to
operations then this may be an indicator that the demand levels and the lot
multiples are not in balance.
It is also important to note that in a work order, that the inventory for a work order
is typically released at the end of the work order, not when a lot is reached within
the work order. However if work order units of effort is turned on, then inventory
from a work order is released when the lot multiple is reached, with the last
inventory release being the outstanding quantity which may be less than a lot
multiple.
Page 22
Lot multiples also affect the relative timing of operations in a routing, and in
particular it determines when there is sufficient inventory to start the next
operation.
The example below depicts a 100 unit demand, with a lot multiple of 100 units on
the manufacturing operations. However, in reality inventory is yielded to
downstream operations in 25 unit increments, which can obviously not occur the
way the model is configured. Manufacturing cycle time is exaggerated as the
operations are scheduled to respect the routing precedence constraints. This same
problem applies to inventory relationships, where work-in-process inventories
connect operations.
The proper use of lot multiples in the application will produce a schedule which
reflects reality on the shop floor informing PS of the appropriate proper material
flow between manufacturing stages will allow manufacturing to be scheduled much
more flexibly. In the example below, the lot multiples have defined at the 25 unit
value which represents the true flow of material between production stages.
Manufacturing cycle time is drastically reduced, there is more concurrent
manufacturing occurring, resource usage, inventory production and consumption is
accurate as well.
Page 23
Of course, when work orders are introduced into the equation this changes the
problem somewhat. When work orders are created within ERP and sent to PS,
they will resemble the first scenario as they are pre-lot sized. In a work order driven
environment, the primary sources of demands are explicit work orders across the
scheduling horizon. In a work order driven environment, these work orders may or
may not have a matching demand associated with them. The major difference in
this approach is that these work orders usually have quantities greater than the
routing lot multiple, which inherently provides for scheduling inaccuracy as
durations and precedence relationships are distorted.
For example, take the following routing which produces Item A in a lot multiple
of 25 units:
Assume a work order for 50 units of Item A is due at January 11th, 4:30PM. When
PS schedules this work order, it will result in the following:
Page 24
Many people recognize these issues and some have chosen to use operation overlap
on work order operations as an answer, which results in the following schedule:
Although the overall make span problem appears to be resolved as it is now 13
hours, this approach still has problems as well.
Inventory Distortion In PS, materials are consumed at the start of an operation
and produced at the end. Since the operations are run back to back and as 1
operation, both these times are distorted consumption of materials is early and
only at the end of the operation are produced components released to downstream
operations.
Resource Use Exaggeration - The use of resources across the routing is
exaggerated, in particular on Operation A and Operation B there is actually some
idle time available between the first two units of work which is not available for
other operations.
Precedence Infeasibility Since a single Operation B requires all inventory to be
available at the start of operation, it can not actually feasibly start until Operation A
is completed (when the inventory is released). The application of overlap does not
address this during the scheduling process.
Precedence Relationship Distortion The use of operation overlap only
provides a subset of precedence relationships that PS can handle and can not
handle non-linear relationships at all. For example, consider the following types of
precedence relationships:
Page 25
Handled in PS
Starts at Start
Ends at End
Recognizing this, PS has a feature, which reconciles this issue by providing the
ability to schedule work orders according their individual lot multiple or unit of
effort - addressing the shortcomings of what work orders present in the world of
finite capacity scheduling. The approach provides complete schedule accuracy, as
production is instantiated according to individual units of effort required to
produce routing lot multiples. Lets take a look at this in a bit more detail.
Page 26
Assuming the user chooses Select by Routing, the user now navigates to the
Routing itself in the workspace and opens up its properties:
Page 27
Page 28
The following are some common best practices in regards to modeling supply and
demand within PS. As discussed earlier, it is important to note that PS should not
be used to perform MRP rather it should be used to ensure production schedules
are material feasible.
Ensuring sources of supply for all items.
Have you ever experienced the following error message with an accompanying
infeasible schedule?
Schedule: Schedule #1
Error : No Producing Operation in Model
Hints:
Resource
"Raw Material"
Time
Date Time: 2008/03/24 15:53:20
When modeling procured items, it is necessary to ensure all items have a source of
supply whether that be via a Supplier / Item relationship or a producing operation.
Its all too easy for this type of error to occur due to data integrity, therefore try to
put in some simple checks and balances within your integration environment to
account for this.
Purchase Orders or other supply events should not be imported into PS beyond
purchase lead-time as this can cause PS to delay production when there is not
enough supply to meet short-term requirements. This effect is shown below.
Assume the Raw Material has a purchase lead time of 5 days. However, a
purchase order is in PS 9 days into the horizon. Due to this, Operation 1 has been
delayed until the PO arrives causing the demand to be late.
Page 29
However, as shown below, the operation could actually be run earlier if the PO was
removed. This would allow the PS Solver to create its own supply event based on
the specified supplier lead-times.
The earliest and latest dates on demand lines should be left to null unless there are
significant reasons for them to be populated. Latest dates in particular impose
hard (not difficult, but meaning they can not be violated) constraints to the solver
and this potentially will increase solve times. Use only opportunistically.
Demand Prioritisation.
Page 30
essentially opportunistic orders, which look for holes in the schedule and/or
inventory to fill a given demand. For example - two demands (Demand 1 and
Demand 2) have stated priorities of2 and 1 respectively. Demand 1 is due on
Day 1 and Demand 2 is due on Day 2. Each demand shares a common machine,
which is used to manufacture the respective items on the demand. If there are no
resource conflicts (i.e. there is enough capacity), Demand 1 would be scheduled
first (the lower priority demand due earlier) and Demand 2 would be scheduled
next (the higher priority demand due later). However, if these demands compete
for capacity, users expect that the higher priority demand would be fulfilled first
which is where demand priorities and order classes come in.
You can configure whether the solver first addresses earliest or most resource
criticality
Page 31
To allow users to solve with either the default (i.e. Most Contention) or Earliest
Contention flag set, there is a new
flag in the Scenario | Solver
Options dialog box.
Resource Offloading
When making resource offloading decisions, the solver does a capacity evaluation
of each resource when placing operations where they are required to meet a given
demand on time. This happens operation-by-operation, one at a time when they
are placed initially in the horizon before detailed operation sequencing takes
place. If the utilization of the resource is greater than its offload threshold, it will
offload to an alternate (if available).
When performing the utilization calculation, a given operation instance is
considered, starting with the operations closest to the beginning of the horizon.
Lets say, the duration of a given operation instance must finish by time t to meet
the demand date of the order it is associated with.
At this point, the solver looks at how many other operations have to be finished
before time t that are already assigned to the same resource and calculates the
total utilization from the horizon start or the prebuild target time which you have
defined on the resource and t. The utilization can be expressed as the total run
time of all the operations (except for the given operation) running between the
horizon start or prebuild target time and t divided by the total up time and t
(which his net of calendar downtime / delays and dynamic capacity).
Page 32
If the utilization level exceeds the off-load threshold for a resource with the highest
preference, then the solver will off-load it to a secondary resource with a lower
utilization level. If the preferences are marked as the same, then the solver will try
to evenly utilize each resource. This off-load process is performed from the
earliest operations in the horizon to the latest operations. The resource specific
flag is illustrated below.
The reason that you may want to use this flag is simple. If the solver looks back
from the start of the horizon (as opposed to the prebuild window), it may not see
the resource as hitting its offload threshold from that point in time, although it
may be very busy around the time that the demand is due. This may result in
longer make-spans or late demands or both.
For example, the diagram below illustrates the window of time (on the highlighted
red operation) that would be used to decide if resource 200-101 or 100-103 is used.
Page 33
If not prebuild target was specified, the solver would look to the
beginning of the horizon when performing the offload calculation. If a
two day prebuild target was specified, the solver would look back two
days only to determine utilization and offload to the alternate, enabling
more flexibility during sequencing.
Without the use of the prebuild target, operations could potentially be
sequenced much earlier on this resource. For example, assume the
offload threshold was set to 75% utilization of 200-101. From the start
of horizon to the time the highlighted operation is required to meet the
demand on time, assume the utilization is 74%. The operation would
not be off-loaded resource 200-103. As a result, the operation may be
sequenced (subsequent solver step) to run earlier, resulting in a long
makespan or later (resulting in a late demand) while there appears to be
idle time on the alternate machine.
Page 34
Down times in a calendar do not allow a job to be suspended for the duration of
the down time and resume once the calendar is up. In effect down times force a job
to find a contiguous chunk of up time to run in.
Alternately delay times allow a job to be suspended during the event and resume
once the calendar is up again.
Job A
Gap
UP
Job B
DOWN
Job C
UP
Job B
Job C
DELAY
UP
Down times when combined with tight temporal relationship constraints can cause
schedule infeasibility. Take for instance two related operations. The first runs for 6
hours and the second runs for 4 hours. If the temporal relationship between the
two operations is Start at End then in effect the solver needs to find 10 hours of
contiguous up time do satisfy the two operations. If the company uses a 8 hour
shift with down times in between then it would not be possible for the solver to
find a 10 hour block to schedule the operations and the solve will become
infeasible.
Avoid down times except for those situations where it is absolutely not
possible to have a job straddle an unproductive time. For instance
Machine Maintenance, or food industry where spoilage issues prevent a
job from being suspended
2.
Page 35
JIT nature of the solver but without the hard constraints associated with
Start at End.
Operation and Resource Groups
A well thought through group structure can have a significant impact on the model.
Resource and Operation Groups can be used to:
1.
Make the Schedule Views (Gantt charts etc.) easier to view and navigate.
Page 36
DEBUGGING MODELS.
The scheduler needs to know how to make or obtain products. When this happens
the following type of message is displayed in the log file:
Error : No Producing Operation in Model
Hints:
Resource
"Apples"
Time
Date Time: 2005/01/11 22:14:05
MinLevel
Level:
0
NumProducers
Number: 0
NumConsumers
Number: 1
StartingLevel
Level:
-1820836480
There are two common causes for this:
1.
2.
Tightly related work orders (e.g. Start at Start relationship) with material
(producing/consuming) relationships between the work orders.
Infeasible Schedule Calendar down events.
As explained earlier, if calendars use down events then there is a possibility that an
operation or a series of linked operations with tight temporal relationships may not
have enough up time to complete in. In this case the schedule will be infeasible.
Page 37
There are several causes of excessive solve times. The following are some of the
common causes:
If solve times are excessive and the solver message seems to be stuck at
Assigning operations to resources, there is a good probability that the
model will be suffering from a lot size problem. The user should review
the lot sizes and ensure that the number of operations generated will be
less than 50,000.
Max inventory levels are too restrictive. In this case turn on the Relax
Max Constraints flag. Similarly avoid the use of shared storage spaces.
Lowering the threshold for certain resources allows the solver to offload
some production and make sequencing easier
Page 38
1.
2.
Check that the costs used by CRO are all populated and reasonable for the
schedule objectives
Changeover costs
Inventory - Carrying cost
Inventory - Safety stock violation cost
Inventory - Stockout costs
Resource Setup costs
Resource Operating costs
Validate the CRO solver by turning on View Campaign Run Optimization
solution results only. This can be found in the scenario Solver Options
3.
4.
Remember that stock out costs etc are not incurred unless the stockout occurs
at the end of the CRO cycle/bucket
Page 39
General Debugging.
The following are some common steps that can be used to identify the problems in
a model. As some of these steps are destructive, ensure that you save the
model under a different file name or use a separate scenario before starting
these steps. You may try these in different sequences to try and understand the
nature of the problem. After making the change, the Resource Gantt chart may
provide clues to the problem.
Page 40