33
A Guide for Troubleshooting of SCM Optimization Problems Table of Contents A Guide for Troubleshooting of SCM Optimization Problems ......................................... 1 Table of Contents ............................................................................................................ 1 Preface............................................................................................................................ 2 General information on SCM Optimizers ......................................................................... 3 Testing RFC connection to SCM Optimizer ................................................................. 3 Getting version information on SCM Optimizer ............................................................ 3 Product Availability Matrix (PAM)................................................................................. 5 Service Marketplace – Download latest SCM Optimizer version .................................. 5 General Troubleshooting SCM Optimization................................................................ 5 PP/DS Optimization – Some Helpful Notes ................................................................. 6 Using Explanation Log in PP/DS Optimization............................................................. 6 Display Optimization Log ............................................................................................. 7 Troubleshooting in SNP and Deployment Optimization ................................................... 8 General Remarks ........................................................................................................ 8 Running the SNP / Deployment Optimizer ................................................................... 8 Sizing .......................................................................................................................... 8 How to find out which version of the SNP optimizer is installed? ................................. 9 Which application version works with which optimizer? ............................................... 9 How can you speed up message processing of optimizer-related problems? .............. 9 Expert consulting for SNP/deployment optimization..................................................... 9 Important Notes ........................................................................................................... 9 Some general hints ................................................................................................... 10 Typical problems and their solution ........................................................................... 10 Troubleshooting hints for VSR-Optimizer [TVSR, TVRG, VSS, MVSR] ........................ 25 Technical checks ....................................................................................................... 25 Checking the optimization data.................................................................................. 25 Important notes – online help .................................................................................... 26 Appendix ....................................................................................................................... 27 PP/DS Explanation Log ............................................................................................. 27 SNP Optimizer Trace Tile .......................................................................................... 31

Support Guide SCM Optimizer

Embed Size (px)

DESCRIPTION

Support Guide SCM Optimizer

Citation preview

Page 1: Support Guide SCM Optimizer

A Guide for Troubleshooting ofSCM Optimization Problems

Table of Contents

A Guide for Troubleshooting of SCM Optimization Problems ......................................... 1Table of Contents ............................................................................................................ 1Preface............................................................................................................................ 2General information on SCM Optimizers ......................................................................... 3

Testing RFC connection to SCM Optimizer ................................................................. 3Getting version information on SCM Optimizer ............................................................ 3Product Availability Matrix (PAM)................................................................................. 5Service Marketplace – Download latest SCM Optimizer version .................................. 5General Troubleshooting SCM Optimization ................................................................ 5PP/DS Optimization – Some Helpful Notes ................................................................. 6Using Explanation Log in PP/DS Optimization ............................................................. 6Display Optimization Log ............................................................................................. 7

Troubleshooting in SNP and Deployment Optimization ................................................... 8General Remarks ........................................................................................................ 8Running the SNP / Deployment Optimizer ................................................................... 8Sizing .......................................................................................................................... 8How to find out which version of the SNP optimizer is installed? ................................. 9Which application version works with which optimizer? ............................................... 9How can you speed up message processing of optimizer-related problems? .............. 9Expert consulting for SNP/deployment optimization..................................................... 9Important Notes ........................................................................................................... 9Some general hints ................................................................................................... 10Typical problems and their solution ........................................................................... 10

Troubleshooting hints for VSR-Optimizer [TVSR, TVRG, VSS, MVSR] ........................ 25Technical checks ....................................................................................................... 25Checking the optimization data .................................................................................. 25Important notes – online help .................................................................................... 26

Appendix ....................................................................................................................... 27PP/DS Explanation Log ............................................................................................. 27SNP Optimizer Trace Tile .......................................................................................... 31

Page 2: Support Guide SCM Optimizer

Preface

The following guide has been designed for members of the support organizations whoget in contact with the SCM optimizers over OSS messages from time to time. Thisguide should help to solve the most common messages for which a deeperunderstanding about optimization and the optimizer itself is not essentially necessary. Itdoes not replace the online documentation of the optimizers; in contrast it offersadditional information in case, that different problems occur when the optimizer wasused.

The following document is divided into a general part which is valid for all optimizers inSCM-APO and an optimizer specific part in which details of the special optimizer arediscussed.

Page 3: Support Guide SCM Optimizer

General information on SCM Optimizers

To get an overview about features, constraints and implementation of SCM Optimizers,the SAP Help Portal provides useful information:

http://help.sap.com : SAP Business Suite SAP Supply Chain Management (SelectRelease). Use the navigation: SAP APO PP/DS PP/DS Process AutomatedProduction Planning and Optimization Optimization for more information e.g. on thePP/DS Optimizer.

Testing RFC connection to SCM Optimizer

To test the proper installation of SCM Optimizers a connection test can be performed formaintained RFC destinations in transaction rccf_cust (RCCF: Destinations for Engines).Click on the button “Connection Test” to start the test for all maintained destinations. Apop-up window will display the test results.

Getting version information on SCM Optimizer

There are two ways how to get information on the version of the SCM Optimizer used bythe customer.

1. Version Display (RCCF)

In transaction rccf_version (SAP menu Advanced Planning and Optimization APOAdministration Optimization Version Display) you get an overview containinginformation for each maintained RCCF destination.The most important information is: release version of the SCM Optimizer, for whichoperating system the executable has been built and when the executable was built.

In the example above, the PP/DS Optimizer (Destination ID: DPS01) was built on July25th 2007 (Created At) for the NT/Intel i386 platform (Operating System) for the releaseSCM 5.1 (Release).

Page 4: Support Guide SCM Optimizer

2. Log Display (RCCF)

In transaction rccf_log (SAP menu Advanced Planning and Optimization APOAdministration Optimization Log Display) select the entry for the Optimization runwhich corresponds to the customer issue and select “display log file”. At the beginning ofthe log file technical information is displayed similar to the “Version Display” transaction.See the following example for further explanation.

Description of Optimization Engine (“TP/VS Optimizer Engine [VSR/vsropsvr]”) Platform (“ntintel/i386”) Build date (“July 20 2007”) Perforce branch (“5.1_COR”)

Additional to the data about the SCM Optimizer itself, the log file also containsinformation on the optimization server which could be relevant:

Free disk space on the optimization server Memory information on the optimization server

Page 5: Support Guide SCM Optimizer

Product Availability Matrix (PAM)

Link to PAM: http://service.sap.com/pam

Then navigate: SAP Application Components SAP SCM (SCM Release)

There you can get e.g. information on Operating Systems supported by the SCMOptimizers (tab “Operating Systems” tab “SCM Optimizer”).

Other information on: Upgrades End of maintenance Unicode etc.

Service Marketplace – Download latest SCM Optimizer version

Link to SAP Service Marketplace: http://service.sap.com/

Then navigate: SAP Support Portal Downloads Download Support Packagesand Patches Entry by Application Group SAP Application Components SAPSCM (SCM release) Entry by Component SCM Optimizer

Depending on your platform select the corresponding archive. Choose the latestoptimizer archive and add it to your download basket (see column “Last Changed”). Afterthat you can download the archive from the Download Basket.

For further help on installation of the SCM Optimizer, take a look on the following notes(depending on SCM release):

603828 Install SCM 4.0 Optimizer from Service Marketplace703774 Install SCM 4.1 Optimizer from Service Marketplace857475 Install SCM 5.0 Optimizer from Service Marketplace1019666 Installing SCM Optimizer Version 5.1

General Troubleshooting SCM Optimization

If a problem with SCM Optimization occurs, which needs support of the SAPDevelopment Team, some preparatory work can be done on the customer / support sideto ease and speed-up the problem solving process:

Get latest version of SCM Optimization and retry Provide reproducible example / scenario containing the problem Try to reduce overall problem size (a small scenario which still contains the

problem) Provide detailed steps and settings necessary to reproduce the problem in the

Page 6: Support Guide SCM Optimizer

Troubleshooting hints for PP/DS Optimization

To accelerate the problem solving process regarding PP/DS Optimization, the followingitems should be performed (beside the general hints):

Reduce the complexity of the overall PP/DS Optimization process byconcentrating on the “main” optimization step. Therefore deactivate additionalsteps in the optimization profile like

o Backwards Scheduling: off (tab “Basic Settings”)o Compact Scheduling: off (tab “Basic Settings”)o Orders with begun and confirmed operations: schedule normally (tab

“Order Processing”)o No Bottleneck Optimization (tab “Additional Strategies”)o Decomposition Settings: Off (tab “Additional Strategies”)

Activate dump mechanism of Optimization input data file: go to transaction/sapapo/opt10 “Optimizer internal settings” and set for PP/DS Optimizer the LCDump level to 1. Execute with “F8”. Every time the Optimizer runs a filecontaining all input data for Optimization will be written (necessary forreproduction and problem solving).

Reproduce the problem according to the general hints (small problem size etc.) Identify your Optimization reproduction run in transaction rccf_log (“Log Display”),

especially start time and start date Download the Log File and Data File (or both in “Compressed Archive File”) and

attach it to the problem message, if possible. Alternatively ask SAP support for aSAPmats container (SAP Mail Attachment Service) https://sapmats.wdf.sap.corp/

PP/DS Optimization – Some Helpful Notes

630565 Guidelines for customer messages in PP/DS606334 Overlap of activities after PP/DS optimization run681656 Objective function in PP/DS optimization689101 PP/DS optimization consulting712066 Restrictions of the PP/DS optimizer (Part 1)840887 Restrictions of the PP/DS optimizer (Part 2)765320 Less functions in the PP/DS optimizer (SCM 4.x SCM 5.x)766301 Runtime and runtime distribution for PP/DS840883 Restrictions of the explanation log886644 SCM APO Optimization 4.x - 64bit

Using Explanation Log in PP/DS Optimization

If the result of PP/DS Optimization doesn’t meet the customer’s expectations (e.g. toomany delays, some orders not moved etc.) a look into the Explanation Log might behelpful. To activate the Explanation Log, set the corresponding checkbox in theoptimization profile before running optimization (tab “Expert Settings” section “Log” “Explain Result”).

Page 7: Support Guide SCM Optimizer

After the optimization run the Explanation Log can be accessed in transaction rccf_log

by clicking on the icon in the “Ext. Column”.The Explanation Log contains helpful information on delays, fixation, deallocations etc.regarding the result of the corresponding optimization run.

Display Optimization Log

The Optimization Log lists all warnings, status and error messages which occurredduring the optimization run. It can be accessed in transaction rccf_log by clicking on thetraffic light symbol in the “Status” column. There you can see also how many resourcesand activities have been selected for optimization. If warnings like “No orders have beenchosen” or “No resources selected” occur, long texts exists which help to solve theseissues.

Page 8: Support Guide SCM Optimizer

Troubleshooting in SNP and Deployment Optimization

General RemarksAs the same executable is used for both SNP and Deployment Optimization, we simplyrefer to “the optimizer” in the following if we mean both of them.

The basic mathematical method used by the SNP and the Deployment optimizer is linearand mixed integer linear (“discrete”) programming. Generally speaking, the simplexalgorithm is the basic solving mechanism. A linear optimization model consist of several(in SCM optimization up to several millions of) variables for which a planning decisionshould be found. Model variables represent all possible activities within an SCM-modele.g. production, transportation etc. These variables are linked by constraints and anobjective function in which costs can be assigned to all possible SCM activities. Theoptimal solution is one solution which offers the lowest cost under consideration of allconstraints in the model. Several optimal solutions with the same lowest cost may existfrom which the optimizer chooses and returns one arbitrarily.

A constraint is linear if no nonlinearities e.g. minimum lot sizes or piecewise linear costfunctions are used. For a complete list of possible discrete constraints please check theonline documentation and/or the discrete part in the optimizer profile. An optimizationmodel which contains discrete constraints is a discrete optimization model for which adiscrete solver has to be chosen.

Note:As a general rule it can be said that a discrete optimization model is much more difficultto solve than a linear model.

Running the SNP / Deployment OptimizerAn optimizer run, regardless if it has been started from interactive planning or in thebackground, consists of 3 phases. First an RFC connection to the optimizer is openedand all necessary data (both master and transactional data) belonging to the selection iscollected. This data is sent to the optimizer. After receiving this data the optimizerchecks the data and builds up the optimization model and solves it. In phase 3 theoptimizer transfers the results to the application which commits the orders to theLiveCache.

SizingHow big an optimization model will be can be roughly computed by using the sizingsheet provided by the optimizer development team which can be downloaded from theSAP Service Marketplace (???). After entering the model parameters (e.g. number oflocation materials and buckets) the number of variables and constraints of the model isreturned. This can be used to estimate the complexity of an optimization model, memoryconsumption and expected run time frame as well as if 32 bit or 64 bit hardware is

Page 9: Support Guide SCM Optimizer

required. A general rule of thumb says that the more discrete variables a model has thefaster the CPU should be to find a business acceptable solution within a given timeframe.

How to find out which version of the SNP optimizer is installed?At the main menu choose APO administration -> Optimization -> Version Display.

Which application version works with which optimizer?Each optimizer works with each application which has a version nr. equal or lower thanthe optimizer. E.G. application 3.1, 4.0, 4.1 or 5.0 works fine with the optimizer 5.0. Butapplication 5.1 will not work with the optimizer 5.0. Currently (November 2008) wedeliver the optimizer version 5.1 for all generally available SCM releases. No previousversion of the optimizer are delivered anymore.

How can you speed up message processing of optimizer-related problems?If you suspect the problem lies in the optimizer engine, read the solution proposals totypical problems with SNP optimization described below, or read note 1448722.

If these solution proposals do not solve your problem, download the input log file and thetrace file the optimizer has generated for the run in question, and upload it as anattachment to the OSS message. To download the files from the customer system, usetransaction /sapapo/snpoplog. For further information on this topic, see also note1451599.

Expert consulting for SNP/deployment optimizationFor questions on modeling of performance tuning please refer to note 579373 for detailson the specialized optimization consulting service.

Important Notes 579373 SNP & deployment optimization consulting1127559 Restrictions of SNP/deployment optimization1448722 Solving problems in SNP/deployment optimization1451599 Guide for customer messages for SNP/deployment optimization

Page 10: Support Guide SCM Optimizer

Some general hints

Never use the discrete optimizer without setting a maximum time limit as otherwise therun might take a very long time to finish, even for smaller models/selections.

What can be done if the solution found by the discrete optimizer does not satisfythe customer`s needs?

Allow more runtime if possible Limit the use of discrete variables as far as possible by

o changing the bucket granularityo reducing the discretization horizon

Numerical issuesTry to avoid using very small numbers in combination with very big numbers otherwisethe runtime may increase and in extreme cases the optimizer might even fail.If noproduct issues exist, refer to the optimization expert consulting service offered by SAPwhich can help with any consulting request in the area of optimization. For furtherinformation, see note 579373.

Explanation of the optimizer resultsSince SCM 5.0 an explanation component exists which can be used to get someexplanations why demands are not fulfilled. The explanation can be started after anoptimization run has been finished. Choose a run shown with transaction/sapapo/snpoplog and click on the explain button.

Typical problems and their solution

In the following we present solution steps to some typical problems that may occur whenusing SNP optimization. These problems and solution proposals are also summarized innote 1448722.

Page 11: Support Guide SCM Optimizer

The optimizer does not meet demands or does not comply with safety stocks

Possible reasons for non-delivery or safety stock shortfall include:

o Capacity constraints:Production or transportation resources with a low capacity can restrict theproduct flow.

o Time-dependent constraints and maximum lot sizes:Lot size constraints of PPMs/PDS and shipments can restrict the product flow.

o Missing product availability:Some product stocks are not available or corresponding sources of supply aremissing.

o High lead time:A high lead time may occur for a product. This may be due to a high shipmentduration or production time as well as production horizons, stock transferhorizons or planned delivery times. Demands or safety stocks that occur inthis lead time cannot be met.

o Costs:If the costs for non-delivery or safety stock shortfall are lower than other costfactors such as production costs, then the optimization can generate a resultwith demands that are not met or safety stocks that fall short.

Check whether the message log of the optimization run contains messages aboutdemands that are not met or inconsistent safety stocks, or messages about missingcosts for non-delivery or safety stock shortfall. To do so, set the consistency check onthe "Extended Settings" tab page in the SNP optimizer profile to "All Checks". Read thecorresponding message long texts if they exist.

Use the explanation tool to explain the non-delivery or safety stock shortfall.

If the explanation tool does not provide the required information and you are using thediscrete optimization, carry out the following steps:

o Select linear optimization as the solution method in the optimization profile.

o Restart the optimization.

If shortages no longer occur now, then you know that discretization of the optimizationmodel is the reason for the shortfall quantities. In this case, increase the maximumruntime in the optimization profile and remove the maximum number of improvements onthe "Solution Methods" tab page if required. Then restart the discrete optimization.

However, if shortages continue to occur after you select linear optimization, deactivateall decomposition heuristics on the "Solution Methods" tab page in the optimizationprofile and restart the optimization.

Page 12: Support Guide SCM Optimizer

If the above steps do not improve the optimization result, make the followingadjustments to the optimization model:

o Increase capacities of bottleneck resources for shipment and production.Alternatively, you can deactivate the control of capacities on the "GeneralConstraints" tab page in the SNP optimizer profile.

o Remove unnecessary lot size constraints of PPMs/PDS and shipments.Alternatively, you can deactivate the control of lot size constraints on the"General Constraints" tab page in the SNP optimizer profile.

o Add missing sources of supply via shipment or production to products or allowexternal procurement.

o Reduce production or stock transfer horizons of the product and reduce theplanned delivery time. Alternatively, you can deactivate the control of horizonson the "Integration" tab page in the SNP optimizer profile.

o Maintain the highest possible costs for non-delivery of demands and forshortfall of safety stock. Alternatively, you can maintain similarly highweightings in the SNP cost profile. Activate the automatic cost generation inthe optimization profile if necessary.

o You may have to allow for delays in relation to demands that are not met. Setthe maximum delay and the delay costs in the product master data.

For further information, see note 1447693.

Page 13: Support Guide SCM Optimizer

High levels of warehouse stocks after optimizationSome products have unexpectedly high levels of warehouse stocks afteroptimization. Possible reasons for high levels of warehouse stocks include:

o Safety stocks:Existing safety stocks of products can lead to increased warehouse stocks.

o Fixed receipts:Existing fixed production, distribution, or substitution receipts of products forwhich no independent or dependent requirements exist increase thewarehouse stock.

o Missing means of transport:Some products may not reach demand locations because the correspondingtransportation lanes are not available.

o Missing PPMs/PDS:Some products may not be processed further because the correspondingconsuming PPMs/PDS are missing.

o Missing demands:Some products do not have demands. Therefore, they are stored at the end ofthe planning horizon.

o Low storage costs:Products are preferably stored in locations where the storage costs are at theirlowest.

The following steps may solve the problem:

o Check whether the message log of the optimization run contains messagesabout excess stock of individual products. To do so, set the consistency checkon the "Extended Settings" tab page in the SNP optimizer profile to "AllChecks". Read the corresponding message long texts if they exist.

o Remove unnecessary safety stocks.

o Remove unnecessary fixed goods receipts, in particular for products withoutindependent or dependent requirements.

o Select additional transportation lanes for the optimization to enable thetransport of products with high levels of warehouse stock to other locations.

o Select additional PPMs/PDS for the optimization that consume the productswith high levels of warehouse stock.

o Maintain additional demands for the products with high levels of warehousestock with the highest possible non-delivery costs.

Page 14: Support Guide SCM Optimizer

o Increase the storage costs of products with high levels of warehouse stock.Alternatively, you can maintain a similarly high weighting for storage costs inthe SNP cost profile.

o If upper bounds for stock are defined for products, deactivate the option"Consider Upper Bounds for Stock as a Soft Constraint" in the optimizationprofile. As a result, the upper bounds for stock will be handled as pseudo-hardconstraints.

After the above steps restart the optimization. You can also automatically generate theabove costs for non-delivery or storage by activating the automatic cost generation in theoptimization profile.

For further information, see note 1447887.

Page 15: Support Guide SCM Optimizer

Shortage of warehouse stock after optimization

Shortages of the warehouse stock occur after optimization. The following may causestock shortages:

o Fixed orders:The model contains fixed orders that reduce the warehouse stock. Stockshortages occur immediately if the available material stock is not sufficient tocover the demands of the fixed orders and no other goods receipts arepossible through production, transportation or external procurement in therelevant planning periods.

o Non-delivery:Even if all fixed demands can be covered, some independent requirementsmay not be covered if the corresponding products are not available or cannotbe procured. In this case, the optimization returns a result with stockshortages since the SNP planning book cannot display non-deliveries andinstead always consumes stocks for independent requirements.

Example:An independent requirement is maintained in period T for product P and afixed demand is maintained in the subsequent period T+1. Both requirementquantities amount to 1000 units. The optimization now schedules a stock of1000 in period T. However, the independent requirement is not supplied.Instead, the stock covers the fixed demand in the next period. In the planningbook however, the stock is already consumed in period T for the independentrequirement. This results in a shortage of -1000 in period T+1.

o Initial negative stocks:The SNP optimization ignores negative stocks in the past (before the start ofthe planning horizon). This may also result in shortages of the warehousestock. For further information, see Note 1449859.

The following steps may solve the problem:

o Check whether the message log of the optimization run contains messagesabout fixed orders. To do so, set the consistency check on the "ExtendedSettings" tab page in the SNP optimizer profile to "All Checks". Read thecorresponding message long texts if they exist.

o Select the optimization horizon so that it does not contain any infeasible fixedorders. In particular, avoid fixed demands that cannot be covered by storagestock or by activities such as production, transportation or externalprocurement as a rule. In the settings for the period structure in the planningbook, choose a planning start that is after the fixed demands.

o If applicable, deactivate the "Do Not Delete Any Orders" option on the"Integration" tab page in the SNP optimizer profile. As a result, existingunfixed orders that can cause stock shortages are deleted.

Page 16: Support Guide SCM Optimizer

o Remove all unnecessary fixed orders from the optimization model or do notselect any for the optimization.

Carry out the optimization. If negative stocks still occur, add additional warehouse stockand goods receipts to your optimization scenario:

o Relax or remove unnecessary lot size restrictions to production, transportationand external procurement. You can deactivate the control of lot sizerestrictions on the "General Constraints" tab page in the SNP optimizer profile.If you use an SNP optimizer bound profile, relax or remove unnecessarybounds or do not use the SNP optimizer bound profile at all.

o Allow external procurement for missing products or products that are runninglow.

o Select additional PPMs or production data structures (PDS) that can producemissing material quantities.

o Select additional transportation lanes that can be used to procure missingmaterial quantities.

For further information, see note 1449722.

Page 17: Support Guide SCM Optimizer

Resource overload after optimization

The optimizer causes a resource overload for production, transportation, handling, orstorage resources. Here are the steps to solve the problem:

o In the SNP optimizer profile on the "General Constraints" tab page, activatethe checkbox for the corresponding capacity restrictions, for example, theproduction capacity.

o Check whether messages about resource overload or fixed orders exist in themessage log of the optimization run. For this, the consistency check on the"Extended Settings" tab page in the SNP optimizer profile must be set to "AllChecks". Read the corresponding message long texts if they exist.

o Ensure that no fixed orders exist that already cause a resource overloadbefore the optimization. If necessary, remove these orders or choose anoptimization horizon that does not contain any fixed orders.

o If necessary, deactivate the "Do not delete existing orders" option on the"Integration" tab page in the SNP optimizer profile so that all planned ordersfrom the previous optimization are deleted.

The capacity of storage resources is always processed as a pseudo-hard constraint bythe optimization. This means that storage resources can always be overloaded inprinciple.

For further information, see note 1450490.

Page 18: Support Guide SCM Optimizer

Discrete constraints ignored

The optimizer ignores discrete constraints. For example, it plans production processmodels (PPMs)/production data structures (PDS) or shipments in non-integral lot sizes,or it exceeds minimum lot sizes.

The following steps may solve the problem:

o Make sure that the discrete optimization is activated in the optimization profile.

o Check whether messages about discrete constraints exist in the message logof the optimization run. To do so, set the consistency check on the "ExtendedSettings" tab page in the SNP optimizer profile to "All Checks". Read thecorresponding message long texts if they exist.

o Check the corresponding horizons in the optimization profile. The optimizationtakes discrete constraints into account only within these horizons.

o Make sure that the PPMs/PDS or shipments that are to be planned asintegers are marked as discrete in the master data.

For further information, see note 1450156.

Page 19: Support Guide SCM Optimizer

No solution or poor solution in runtime providedThe optimizer does not produce any result or produces a poor result.

o Maximum runtime is too low:The optimization requires more runtime to find a solution or improve thecurrent solution.

o Complexity of the optimization model is too high:A period structure with buckets that are too small or discretization horizonsthat are too large increase the complexity of the optimization model.

o Data volumes are too large:The optimization model contains a large number of location products,activities, and periods.

Increase the maximum runtime in the optimization profile on the tab page for solutionmethods. If necessary, remove the restriction to the maximum number of improvements.Restart the optimization.

If the optimization result is not improved, try to reduce the complexity of the optimizationmodel:

o Try to split the optimization scenario into multiple independent partialscenarios and optimize them in separate runs.

o Discretization horizon:If possible, reduce the discretization horizons in the optimization profile on the"Discrete Constraints" tab page, in particular the horizons for minimum andintegral lot sizes for production and transportation. Remove unnecessaryminimum lot sizes.

o Period structure:Select a 'broader' period structure in which the period lengths increase in thefuture. For example, define the period structure in a planning period of oneyear in such a way that the first month is planned in days, months 2 - 6 areplanned in weeks, and the rest of the period is planned in months.

o Decomposition heuristics:Activate a decomposition heuristic; for example, the product decomposition inthe optimization profile on the tab page for solution methods.

For further information, see note 1447944.

Page 20: Support Guide SCM Optimizer

Termination: Out of memory

The optimizer terminates with error message 273 "Not enough memory". There areseveral ways to solve this problem:

o Reduce the problem size:A reduction of the optimization problem shouldreduce the amount of main memory that is required. The size of the scenariodepends largely on the number of selectedlocation products, requirements, production process models (PPM/PDS) andtransportation activities as well as the number of resources and the size of theoptimization horizon.

o Use decomposition:The use of decomposition heuristics such as the product decomposition ortime decomposition splits the optimization problem into several partialproblems that are solved individually. This of course reduces the overallmemory requirement.

o 32-bit optimizer version, 3GB switch:Make sure that you have activated the "3GB" boot option as described in Note112403. You do not have to carry out the "following step" section in Note112403 because the SNP optimizer executable is already prepared for usingthe extended address space. For more information about the "3GB" optionand memory restrictions for 32-bit Windows, see points 2 and 4 in Note313347.

o 32-bit optimizer version, conversion to 64-bit:By default, SCM 5.0 contains a 64-bit version of the optimizer. If possible,switch to a 64-bit operating system and 64-bit optimizer version when thereare main memory problems. There are no 64-bit optimizer versions for SCM4.1 in the standard release. For further information about this topic, see Note886644.

For further information, see note 489389.

Page 21: Support Guide SCM Optimizer

Termination: Linear program (LP) is unrestricted

The optimizer terminates with error message 276 "Linear program is unrestricted".

You are using linear optimization as a solution method. For each cost bound (includingnegative cost bounds) for the objective function, a solution can be found whose costsare below the bound.

Examples: There are solutions with costs less than -1000, -10,000, -100,000, and so on.

There is no ideal solution to this problem. This is an exceptional mathematical case thatcannot occur for a real-life problem that is modeled correctly.

Check whether there are negative cost factors in the optimization model. These maylead to an unrestricted solution and must be removed or converted to positive costfactors.

For further information, see note 1450295.

Page 22: Support Guide SCM Optimizer

Termination: Internal errorThe optimizer terminates with error message 600 "Optimizer: Internal error occurred".

Install the latest version of the optimizer and restart the optimization. If the error persists,create a customer message. For further information, see notes 1451599 and 1450251.

Page 23: Support Guide SCM Optimizer

Termination: Infeasible problemThe optimizer terminates with error message 285 "Infeasible problem". The optimizationmodel cannot be corrected.

The following are possible reasons for this infeasibility:

o Fixed orders:The model contains fixed orders that are considered hard restrictions. Theoptimization model may be infeasible if the available material stock is notsufficient to cover the fixed demands and no other goods receipts are possiblethrough production, transportation or external procurement in the relevantplanning periods.

o Restrictions to the lot size:You are using excessively restrictive restrictions of lot sizes for transportation,production or external procurement.

o Numerical problems:If the optimization model contains excessively large lot sizes or lot sizebounds for production, transportation or external procurement, andsimultaneously contains very small lot sizes or lot size bounds, the model maybe considered to be very difficult and the optimizer may consider the model tobe infeasible:

Example 1:A production process model (PPM) produces product P in lot sizes of1000000, while a different PPM produces product P in lot sizes of 0.001.

Example 2:The above bound for the production quantity of a PPM amounts to100000000. However, a produced quantity of 1000 is sufficient for the PPM tocover the relevant demands.

The following steps may solve the problem:

o Select the optimization horizon so that it does not contain any infeasible fixedorders. In particular, avoid fixed demands that cannot be covered by storagestock or by activities such as production, transportation or externalprocurement as a rule. In the settings for the period structure in the planningbook, choose a planning start that is after the fixed demands.

o If applicable, deactivate the "Do Not Delete Any Orders" option on the"Integration" tab page in the SNP optimizer profile. As a result, existingunfixed orders that may lead to infeasibility are deleted.

o Remove all unnecessary fixed orders from the optimization model or do notselect any for the optimization.

Page 24: Support Guide SCM Optimizer

o On the "Extended Settings" tab page in the SNP optimizer profile, set theoption for simplifying if the problem is not successfully solved again.

o On the "Integration" tab page in the SNP optimizer profile, set the followingoptions: Demands of fixed orders considered as a pseudo-hard restriction.

Carry out the optimization. If the problem still cannot be solved, add additional storagestock and goods receipts to your optimization scenario.

o Relax or remove unnecessary lot size restrictions to production, transportationand external procurement. You can deactivate the control of lot sizerestrictions on the "General Constraints" tab page in the SNP optimizer profile.If you use an SNP optimizer bound profile, relax or remove unnecessarybounds or do not use the SNP optimizer bound profile at all.

o Allow external procurement for missing products or products that are runninglow.

o Select additional PPMs or production data structures (PDS) that can producemissing material quantities.

o Select additional transportation lanes that can be used to procure missingmaterial quantities.

If the optimization problem still cannot be solved, try to carry out the following numericalcorrections by setting the following parameters in transaction /sapapo/copt10.

o Expand the numerical precision that the SNP optimizer uses for calculations.As a result, the results will be less precise; however, this increases thepossibility that the SNP optimizer will find a solution.Application: SNPSection: SNP_OPTIMIZERSName: FeasibilityToleranceFloat.Pnt: 1e-6, or values between 1e-6 and 1e-3

o Use the SNP optimizer to relax all bounds for transportation, production andexternal procurement that are greater than or equal to 100000000:Application: SNPSection: SNP_OPTIMIZERSName: DeriveInfinityMaxLotsString: X

For further information, see notes 578044 and 1450405.

Page 25: Support Guide SCM Optimizer

Troubleshooting hints for VSR-Optimizer[TVSR, TVRG, VSS, MVSR]

Technical checksFirst of all check the RFC-connections and the optimizer version as mentioned inchapter General information on SCM Optimizers.In Transaction RCCF_CUST the connecton for the VSR-Optimizer has the application IDTVSR, the Transportation Proposal (TP) TVRG and the online schedules (scheduling inmanual planning) TVSS.

Check that the required data for the analysis of optimization runs is available.. See note1233927 - Guide for customer msgs in TM transportation optimization.

Changing the DUMP level:In TM the dump level can be changed in the Engine Debug Configuration (RemoteControl and Communication Framework Settings, transaction code/SCMTMS/OPT10). This is a Web Dynpro application (similar to the APO transaction/SAPAPO/OPT10). If no HTTP- or WTS-connection is available to the customer systemthe DUMP level can be changed as follows (SAP GUI remote connection must beopened):

Transcation SE 80, open class /scmtms/cl_d_opt_conf_helperdoubleclick on the method SET_CONFIGURATION.Execute this method by clicking Test (F8) and execute it. Now set the followingvalues:IV_DUMPLEVEL = 1IV_TRACELEVEL = INFOYou can test your input by executing the method GET_CONFIGURATION

Checking the optimization dataAll UI messages that are raised by the optimizer can be found in the message class/SCMTMS/VSR_OPT_APP – read the long texts!The optimization run can be started via report /SCMTMS/VSR_OPT_BGD, too.

To download the compressed archive file of the optimization run use transactionRCCF_LOG and attach it to the ticket.

If the optimization run has failed (red traffic light in transaction RCCF_LOG), check thelog files for the error (search for “<e>”).

Why is an FU not delivered?Common mistakes:

- Check of geographyo Check the availability of the resources. Is there a resource for each

stage? (check break calendars, VsrModule Reduce removes not usableresources, too)

o ETAs might change the start location (imprisoned vehicles)

Page 26: Support Guide SCM Optimizer

o Check the distance matrix of the vehicles and the routes of the scheduleso Check hub definitions (is the routing allowed), the parameters

nMAXNROFHUBS, nMaxNrOfOrderRoutings, nMaxHubSearchDepthinfluence the routing alternatives

- Check capacities- Check resource availability: ETAs, RTAs, fixed PTAs might block resources

(initial solution)

Important notes – online help1216588 - Importing SCM Optimizer Version 7.01233927 - Guide for customer msgs in TM transportation optimization

TM Online Documentation:http://help.sap.com/saphelp_tm70/helpdata/en/78/3cc7974cdd4edaabcc68254301c80b/frameset.htm

Page 27: Support Guide SCM Optimizer

Appendix

PP/DS Explanation Log

You can access the Explanation Log in transaction rccf_log.

Explanation Overview

On the individual tabs, the following information is displayed:

OverviewOn this tab, the planner gets an accumulated view of all explanation entries.

DelaysOn this tab, the system displays the orders that are delayed in relation to theirrequirements dates and times. The system also displays the order's delay indays, hours, minutes, and seconds. By double-clicking on an order, the plannercan see the reasons for the delay. The system displays all the relevant orders inthe lower section of the screen. For each order, the system displays the reasonfor and the duration of the delay. In addition, depending on the cause, the systemdisplays the missing component quantity or the resource that caused the delay.

The planner can also display the missing components or pegged resources onthe Delay: Resources and Delay: Products tabs.

FixingsOn this tab, the system displays the fixed activities and the reasons for theirfixing.

DeallocationsOn this tab, the system displays the activities that were deallocated during theoptimization run and the reasons for their deallocation.

Page 28: Support Guide SCM Optimizer

ReschedulingsOn this tab, the system displays the activities that were rescheduled during theoptimization run.

SolutionsOn this tab, the system displays technical information about the quality of thesolution that has been found, such as how long it took the system to find thesolution, the makespan, and the total setup time.

Explanation Messages

This section provides a list of some explanations identified by the explanationfunctionality.

Message Additional Explanation

Mode not possible due to modecompatibility

The system cannot use the mode because it isnot compatible with the remaining modes ofanother activity to which a mode linkage exists.

Mode not possible due to modecompatibility with fixed activity

The system cannot use the mode because it isnot compatible with the selected mode of anactivity fixed for optimization and because amode linkage exists for this activity.

Mode fixed You have configured the optimization profile sothat the modes are to be fixed for specialresource types.

Fixed due to order category The order is fixed on a date due to its type forthis optimization run. The settings in theoptimization profile may be responsible for this.

Fixed because resource notselected

The operation is fixed for this optimization runbecause it is reserving a resource that cannotbe used by optimization.

Fixed due to partial fixing oforder

Part of the order is fixed for the optimizationrun. The system fixes the entire order if youhave configured the optimization profile on theOrder Processing tab page so that alloperations of an order are to be fixed if at leastone operation is already fixed.

Fixed because only deallocatedactivities can be rescheduled

The operation is scheduled and you haveconfigured the optimization profile so that onlydeallocated activities are to be rescheduled byoptimization.

Page 29: Support Guide SCM Optimizer

Message Additional Explanation

Fixed by system The operation is fixed in the system and istherefore fixed on a date at the time of the startof the optimization run.

Fixed due to partial fixing oforder by right optimizationhorizon

Part of the order is fixed for the optimizationrun. If you have configured the optimizationprofile on the Order Processing tab page sothat the system is to fix all operations of anorder if at least one operation is later than theoptimization horizon, the system fixes theentire order.

Fixed due to partial fixing oforder by left optimizationhorizon

Part of the order is fixed for the optimizationrun. If you have configured the optimizationprofile on the Order Processing tab page sothat the system is to fix all operations of anorder if at least one operation is earlier thanthe optimization horizon, the system fixes theentire order.

Earliest start date due todynamic pegging

You have specified in the product master forpegging relationships a value for maximumearliness or maximum delay, which determinesthe earliest start date/time.

Deallocation due to end ofoptimization horizon

The operation is deallocated because it wasscheduled after the end of the optimizationhorizon and because you have configured theoptimization profile so that operations such asthese are to be deallocated.

Deallocation due to delaydespite infinite scheduling

The operation is too late even with infinitescheduling. Therefore it is deallocated inaccordance with the optimization profilesettings.

Deallocation due to delaycaused by lack of capacity

Due to a lack of capacity, the system wouldschedule the operation too late. The systemtherefore deallocates the operation accordingto the settings you have made in theoptimization profile.

Deallocation due to delay Due to a lack of capacity of a resource, thesystem would schedule the operation too late.The system therefore deallocates the operationaccording to the settings in the optimizationprofile.

Deallocation due to deallocatedpredecessor

The operation has a deallocated predecessorand is therefore deallocated as well, accordingto the optimization profile settings.

Page 30: Support Guide SCM Optimizer

Message Additional Explanation

End of optimization horizon The operation is deallocated because youhave configured the optimization profile so thatoperations that would be later than theoptimization horizon are to be deallocated.

End of validity The operation is deallocated because youhave configured the optimization profile so thatoperations that are later than the validity rangeare to be deallocated.

Latest date/time for operation tobe on time

The operation can only be scheduled with adelay. The time specified is the latest time atwhich the operation would be on time. Theoperation is deallocated because you haveconfigured the optimization profile so thatdelayed operations are to be deallocated.

Page 31: Support Guide SCM Optimizer

SNP Optimizer Trace Tile

The trace file the optimizer writes can be viewed and downloaded in transaction/sapapo/snpoplog. The trace file and the input log file contain all necessary informationto allow development support to reproduce an optimization run. The time when anactivity happens is always written at the beginning of each line. You can see theoptimizer version, for which platform and when it has been build.

<i> 17:27:56 optsvr_main.cpp(621) 'SuperVisor' * Version :<i> 17:27:56 optsvr_main.cpp(622) 'SuperVisor' * Platform :<i> 17:27:56 optsvr_main.cpp(623) 'SuperVisor' * Interface :<i> 17:27:56 optsvr_main.cpp(624) 'SuperVisor' * Build date :

In addition, the trace file contains memory consumption information:

<i> 17:27:56 core_sysinfo.cpp(382) 'SuperVisor' * free disk space:<i> 17:27:56 core_sysinfo.cpp(348) 'SuperVisor' * Memory information:<i> 17:27:56 core_sysinfo.cpp(348) 'SuperVisor' * physical memory:<i> 17:27:56 core_sysinfo.cpp(348) 'SuperVisor' * page file :<i> 17:27:56 core_sysinfo.cpp(348) 'SuperVisor' * virtual memory :

Furthermore the trace file contains all optimizer parameters, which are separated intosections show in brackets e.g. [general]

* ***************OPTSVR - OPTIONS ***************************** *[SNP_MODELGENERATORS]nPARTI = 0nPROCESSINGDATE = 732897nPULLH = 0nPUSHH = 0nSPRIO = 1nWINSI = 0sCONSI = IsDISCM = K

The following line

<i> 08.08.2007 17:27:57 rfc_connection.cpp(591) 'SuperVisor' <rfc>calling function module /SAPAPO/MSDP_OPT_UPLOAD<i> 08.08.2007 19:06:23...

shows when the data collection phase (data upload) in the SNP application has beenstarted. The immediate next line shows when the data collection phase has beenfinished (here 19:06). The runtime of the data collection (phase 1), solution (phase 3)and order creation (phase 3) phases are also reported in TA /sapapo/snpoplog.

In the trace file it can be seen how many constraints and continuous, binary and discretevariables an optimization model has and when the optimization process itself is startedand when it is finished.

Page 32: Support Guide SCM Optimizer

<i> 08.08.2007 19:12:23 sno_supplynetworkplan.cpp(588) 'MsgMgr' (MI)LPmodel statistics:<i> 08.08.2007 19:12:23 sno_supplynetworkplan.cpp(589) 'MsgMgr'#rows: 1782238<i> 08.08.2007 19:12:23 sno_supplynetworkplan.cpp(590) 'MsgMgr'#vars: 5310760<i> 08.08.2007 19:12:23 sno_supplynetworkplan.cpp(591) 'MsgMgr'#continuous: 5310760<i> 08.08.2007 19:12:23 sno_supplynetworkplan.cpp(592) 'MsgMgr'#binary: 0<i> 08.08.2007 19:12:23 sno_supplynetworkplan.cpp(593) 'MsgMgr'#integer: 0<i> 08.08.2007 19:12:23 sno_supplynetworkplan.cpp(594) 'MsgMgr'#nnz: 16152913<i> 08.08.2007 19:12:23 genios_concertsolver.h(329) 'MsgMgr' SolverVersion: 9.1.2<i> 08.08.2007 19:12:23 genios_concertsolver.h(330) 'MsgMgr' ModellerVersion: @(#)ILOG Software: product Concert, library concert.lib,version 2.1, date 02/07/2005, Copyright (C) 1990-2005 by ILOG.

<i> 08.08.2007 20:46:02 sno_module.cpp(176) 'SnoModule' optimizationfinished<i> 08.08.2007 20:46:02 sno_module.cpp(360) 'SnoModule' optimalsolution found

The trace file informs how many orders has been created:

<i> 08.08.2007 20:46:42 sno_supplynetworkplan.cpp(1343) 'MsgMgr'starting to write back activities solutions<i> 08.08.2007 20:46:44 sno_supplynetworkplan.cpp(1484) 'MsgMgr' Numberof removed redundant startups: 0<i> 08.08.2007 20:46:44 sno_supplynetworkplan.cpp(1346) 'MsgMgr' saved942548 production activities results<i> 08.08.2007 20:46:44 sno_supplynetworkplan.cpp(1349) 'MsgMgr' saved505588 transport activities results<i> 08.08.2007 20:46:47 sno_supplynetworkplan.cpp(1352) 'MsgMgr' saved1762179 delivery activities results<i> 08.08.2007 20:46:48 sno_supplynetworkplan.cpp(1355) 'MsgMgr' saved339949 procurement activities results

Furthermore the number of demands which has been fulfilled:

NbFullySatisfied: 189832NbPartlySatisfied: 205NbNotSatisfied: 35672And the delivery percentage:Delivered[%]: 88.1229

Also the resulting cost for each activity class is reported in the trace file:

<i> 08.08.2007 20:48:10 snp_analysis.cpp(580) 'SuperVisor' COSTProduction 1.57396e+008<i> 08.08.2007 20:48:10 snp_analysis.cpp(581) 'SuperVisor' COSTProduction Resource Utilization 0

Page 33: Support Guide SCM Optimizer

<i> 08.08.2007 20:48:10 snp_analysis.cpp(582) 'SuperVisor' COSTProduction Resource Non-Utilization 0<i> 08.08.2007 20:48:10 snp_analysis.cpp(583) 'SuperVisor' COSTIncreased Production 2.66372e+006<i> 08.08.2007 20:48:10 snp_analysis.cpp(584) 'SuperVisor' COST Storing7.95091e+009<i> 08.08.2007 20:48:10 snp_analysis.cpp(585) 'SuperVisor' COSTIncreased Storing 0<i> 08.08.2007 20:48:10 snp_analysis.cpp(586) 'SuperVisor' COST ExcessStorage 0<i> 08.08.2007 20:48:10 snp_analysis.cpp(587) 'SuperVisor' COST ShelfLife 0<i> 08.08.2007 20:48:10 snp_analysis.cpp(588) 'SuperVisor' COST ExcessStock 0<i> 08.08.2007 20:48:10 snp_analysis.cpp(589) 'SuperVisor' COST SafetyStock 0<i> 08.08.2007 20:48:10 snp_analysis.cpp(590) 'SuperVisor' COSTProcurement 5.28678e+008<i> 08.08.2007 20:48:10 snp_analysis.cpp(591) 'SuperVisor' COSTTransportation 6.33934e+009

With the following lines:

* ************************ Finished->SUCCESS ...* ***********************

The status of the run is reported. The status might be success otherwise a problemoccurs which may look like this:

* ************************ Finished->FAILED ...* ***********************