Modeling and Solving a class of combinatorial problems in Supply Chain using the Choco Constraint Programming system

Similar documents
Project fact sheet. Project acronym: Net-WMS

ISE480 Sequencing and Scheduling

Planning in Logistics: A survey

1.224J/ESD.204J TRANSPORTATION OPERATIONS, PLANNING AND CONTROL: CARRIER SYSTEMS

Tactical Planning using Heuristics

White paper WM versus EWM: Receiving and Putaway

OPTIMIZING THE REARRANGEMENT PROCESS IN A DEDICATED WAREHOUSE

Solving a Log-Truck Scheduling Problem with Constraint Programming

The Architecture of SAP ERP

Logistics. Lecture notes. Maria Grazia Scutellà. Dipartimento di Informatica Università di Pisa. September 2015

P R O D U C T I O N I N V E N T O R Y S C A N N I N G G L O B A L B A K E P R EP A R E D B Y :G L O B A LB AK E 1 D E C E MB E R

SUPPLY CHAIN PLANNING WITH ADVANCED PLANNING SYSTEMS

PLANNING OF ORDER PICKING PROCESSES USING SIMULATION AND A GENETIC ALGORITHM IN MULTI-CRITERIA SCHEDULING OPTIMIZATION

A Framework for Systematic Warehousing Design

Cornerstone Solutions, Inc.

F Nantes Cedex 3, France. 2 also at IRCCyN. (Institut de Recherche en Communications et Cybernetique de Nantes) 3 now at Ilog, SA

PROMAT S LATEST & GREATEST

MetRo Warehouse Management System. Maximize. your. logistic. performance. MetRo WMS means intelligence

Software Applications to a Real-World Cutting Problem of a German Wood Panel Manufacturer A Case Study

Heuristic Techniques for Solving the Vehicle Routing Problem with Time Windows Manar Hosny

Management Information Systems, Sixth Edition. Chapter 3: Business Functions and Supply Chains

INFORMATION TECHNOLOGY IN THE SUPPLY CHAIN

Decision Support Systems

Presentation Supply Chain software on demand solution and project consulting

Container packing problem for stochastic inventory and optimal ordering through integer programming

Next Gen ERP for Freight and Logistics

one Introduction chapter Overview Chapter

DATASCOPE TM WMS. Warehouse Management System. Building your success. Version 3.0. Business Software Optimisation.

Strategic Design of Robust Global Supply Chains: Two Case Studies from the Paper Industry

Warehouse Management Software. Control and optimisation of warehouse processes, multiplying their profitability. Software Solutions

AUTOMOTIVE. How is it possible to extend production facilities and save money? Simple ask the experts.

December 17, 2007 SAP Discovery System version 3 English. RFID Enabled Integrated Inbound and Outbound Scenario with SAP Discovery System

Storage Allocation and Yard Trucks Scheduling in Container Terminals Using a Genetic Algorithm Approach

Presentation of. REFLEX The Warehouse Management System

ViziRail Description

Sourcing Optimization

Balaji Gaddam. Capable to Match (CTM) with SAP APO. Bonn Boston

Shipping & Mailing Outbound and Inbound Package Management. SendSuite Live. Global logistics management made easy.

C O R P O R AT E P R O F I L E

Robotic Process Automation. Reducing process costs, increasing speed and improving accuracy Process automation with a virtual workforce

Sugar factory automation and optimization. Control. Visualize. Optimize.

White Paper. July ISA-95: A Foundation Model For. Business Intelligence for Manufacturing. Preface

Industry 4.0 Training for the factory of the future

Industry 4.0 Qualification for the factory of the future

Computing the Non-Stationary Replenishment Cycle Inventory Policy under Stochastic Supplier Lead-Times

INDIAN INSTITUTE OF MATERIALS MANAGEMENT Post Graduate Diploma in Materials Management PAPER 18 C OPERATIONS RESEARCH.

This is a very compact way to store typically smaller quantities of a lot of different materials.

The evolution of optimization technologies

Solving Business Problems with Analytics

Optimising Inbound, Warehousing and Outbound Strategies

PRODUCT-MIX ANALYSIS WITH DISCRETE EVENT SIMULATION. Raid Al-Aomar. Classic Advanced Development Systems, Inc. Troy, MI 48083, U.S.A.

Design Method for Concurrent PSS Development

Operation and supply chain management Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology Madras

Optimization in Supply Chain Planning

TIMETABLING EXPERIMENTS USING GENETIC ALGORITHMS. Liviu Lalescu, Costin Badica

PRODUCT DESCRIPTIONS AND METRICS

Vendor Managed Inventory vs. Order Based Fulfillment in a. Specialty Chemical Company

HEURISTIC METHOD FOR OPTIMUM SHIFT SCHEDULING DESIGN

data sheet RFID IN ORACLE 11i10 E-BUSINESS SUITE Oracle Warehouse Management with Application Server 10g

MES ERP. Critical Manufacturing, 2015

Flexible and Reconfigurable Layouts in Complex Manufacturing Systems

NaviTrans 2017 Capability Guide NaviTrans 2017 Capability Guide

Capgemini s PoV on Industry 4.0 and its business implications for Siemens

ELOenterprise. Document Management Archiving Workflow

Get The Best Out Of Oracle Scheduler

FLEXIBLE APPOINTMENT BASED SYSTEM WITH ADAPTIVE RESPONSE TO TRAFFIC AND PROCESSING DELAYS

Solution Manager Content for Inbound Process With Stock-Specific UoM

Volume 1 Cases 1-4. Managing Perishable. Shelf Life. Expiration Dates and Planning Transportation management

Reoptimization Gaps versus Model Errors in Online-Dispatching of Service Units for ADAC

urnkey solutions, equipment, services For the logistics and parcel-delivery industries FIMEC Technologies Press Pack September 2013

SHELVING, RACKING AND STORAGE CONCEPTS

Mathematical models for Multi Container Loading Problems with practical constraints

A support-design tool for block-stacking storage system layout

Long Term Planning for Open Pit Mines

Dealing with Uncertainty in Optimization Models using AIMMS

MSC.Software: Product Brief - MD Adams What s New PRODUCT BRIEF. MD Adams 2011

Overview and Frequently Asked Questions

NOWADAYS, automated storage and retrieval systems

NCOVER. ROI Analysis for. Using NCover. NCover P.O. Box 9298 Greenville, SC T F

S> Rheinwerk. Transportation Management with SAP* TM. Publishing. Bernd Lauterbach, Stefan Sauer, Jens Kappauf, Jens Gottlieb,

Distributed Order Orchestration Overview. Oracle Team

Stock Management Methods in SAP: Some distinctive differences between IM, WM, and EWM John Gardner

Keyword Constraint programming, Train traffic rescheduling system, Train operation, Car operation, Driver operation

Warehouse Management in

PROCESS ACCOMPANYING SIMULATION A GENERAL APPROACH FOR THE CONTINUOUS OPTIMIZATION OF MANUFACTURING SCHEDULES IN ELECTRONICS PRODUCTION

DYNAMICS 365 live your future now

Course Overview and Module 1: Supply Chain Management Fundamentals

Journal. "Dynamic alerts mirror the current planning situation but are not stored in the database. In contrast to the SNP alerts in APO

INTEGRATING VEHICLE ROUTING WITH CROSS DOCK IN SUPPLY CHAIN

An Automated Decision Support System to Assist with Project Planning, Program Management and Work Flow Analysis of an Enterprise

SAP Supply Chain Management

Digital / Service Hub Introduction to the Working Group. Thomas Hanke, FOM University

Application of a Genetic Algorithm to improve an existing solution for the. General Assignment Problem.

Transactions on the Built Environment vol 34, 1998 WIT Press, ISSN

Descartes pixi* ecommerce WMS

Plant Layout and Material Handling

The Accurate Marketing System Design Based on Data Mining Technology: A New Approach. ZENG Yuling 1, a

e7 Capacity Expansion Long-term resource planning for resource planners and portfolio managers

Supply Chain Systems II: Supply Chain Modules

Job Batching and Scheduling for Parallel Non- Identical Machines via MILP and Petri Nets

Transcription:

Modeling and Solving a class of combinatorial problems in Supply Chain using the Choco Constraint Programming system A. Aggoun (KLS OPTIM - France), A. Rhiat (School of Engineering ICAM Lille - France ) (abder.aggoun@)klsoptim.com, ahmed.rhiat@icam.fr ) ABSTRACT: In this article we are particularly interested in modeling and solving a class of combinatorial problems encountered in logistics using the Constraint Programming System (CP). 1. INTRODUCTION In this article we are interested in one hand to review a set of problems encountered in logistics and particularly in a warehouse management systems (WMS) and in multimodal platforms, and in a second hand to highlight the contribution of Constraint Programming Technology in solving them. Existing WMS systems provide advanced features to manage the movement of items within the warehouse, but fail to comply with the increasing need for more automation of customer-oriented demands, such as how to pack fragile items in a container, how many packaging material are needed to pack customer items, how to schedule the manpower to finish the preparation in time, in which order to pack items on a pallet, and the position of pallets in a truck according to the customers to visit. Generally, they lack optimization functionalities like planning, scheduling, advanced packing tools, optimal filling of containers and trucks subject to delivery constraints. Our contribution is the development of new tools for this sector activity. 2. KLS OPTIM KLS OPTIM is an SME specialist in Warehouse Management Systems and Optimization in Logistics, and offers a complete range of proven packages, solutions and services in a niche of sectors in Supply Chain Management. The main problems addressed are packing, design of optimal plan of packing products in cartons and cartons in pallets, optimization in distribution by minimizing the number of pallets, optimization of vehicle/ container loading plans, optimization of assignment of containers in wagons, decision making applications. Most of the problems are known in the literature as bin packing problems. Some instances may thus be hard to solve optimality. The KLS Optimisation Suite is organised into a set of business packing components (modules) featuring capabilities to cover the complete process of packing including different functionalities: creating and editing scenarios, solving optimisation packing problems, visualisation of packing results, production of reporting. The solution is enriched with several API (XML, SOA) easing the interface with ERP and WMSes of the market. The presented work is the result of the European Project Net-WMS and the national project SOCHART. Three key partners contributed to the successful of the industrialization of the results of the projects and which are INRIA, EMN (Ecole des Mines de Nantes) and ICAM (Institut Catholique des Arts et des Métiers). 3. CONSTRAINT PROGRAMMING Constraint Programming (CP) has become a reality in the industrial world. Its success represents an important development of Artificial Intelligence and a successful vulgarization of the techniques of operations research in decision-making solutions in various domains. Indeed, CP has effectively addressed a large class of combinatorial problems. The Constraint Programming system used is Choco [http://choco.emn.fr]. Choco is a Constraint Programming system designed to tackle real world "constrained search" problems with a short-term development time and good efficiency. The Choco system provides a number of constraint solvers over different computation domains. These domains have been chosen because of their interest for applications, but also since efficient specialized constraint solving methods exist for these domains. In this paper we focus on finite domains in Choco. The objective of the company is to promote Constraint Programming and to use when it is possible the Constraint Programming Choco system. 1

4. OPTIMIZATION PROBLEMS 3.1 Optimization of pallets The problem addressed is taken from warehousing and distribution. It concerns the order preparation of large orders for intermediate platforms or important customers like manufacturers in different sectors. An order is a set of lines. Each line describes the ordered product with its corresponding quantity. A carton in a pallet may have up to six possible orientations which may increase the complexity in some cases. The problem consists of packing boxes of various sizes into available pallets (larges boxes) in a way which optimizes the total number of pallets. The objective is to minimize the total number of pallets. Planning of several orders. Capabilities to handle several types of pallets. Subject to orientation, fragility, stackability, weight and volume constraints. The type of planning is operational planning which means that some decision must be taken in real time. The context is the following. The in-house warehouse management system (WMS) is connected to an ERP (SAP). The WMS reads the orders to prepare each laps of time (e.g. 1 minute) from the ERP. The main constraint is that the WMS must compute in real time the optimal number of pallets and the optimal linear meters of the virtual vehicle. This decision making information is sent in real time to the transporters (if they are known) or to the transport department. An order may contain 300 cartons or even more. The objective is to compute this decision making information in few minutes. For example, the decision is taken at 09h:00 and the preparation will start at 15h:00. Usually the exact number of pallets is known once the order preparation is finished. In this case, the consequence is that the transport is informed at the last minute with many disadvantages; e.g. sending a large vehicle by using half of the vehicle capacity. Usually the logistical manager computes a first estimation based on volumes. From the volumes of the products the manager estimates the number of pallets. The problem is that there are many different pallets. The estimation is based on the experience of the managers. Once the order preparation is finished the manager informs the transporters with the exact number of pallets. The first and one of the main disadvantages of these current practices is that the transporter is informed very late. This approach has many negative consequences, among which: Bad use of the capacities of the vehicles. Bad planning of vehicles; a vehicle might be used to serve several warehouses. Bad quality of services; the vehicle might arrive late at the warehouse to pick-up the loads. Competitiveness: both the warehouse and the transporter will be not competitive and in the market. In the literature this class of problem is known as Multidimensional Bin Packing Problem (MD-BPP). In these problems, there is a set of items, with rectangular dimensions, and a set of large containers, or bins, also with rectangular dimensions. The solution is a set of bins. Items in bin cannot overlap in bins. Optim Pallet solvers integrates many new constraints (orientation, fragility, stackability, cardinality on top, weight and volume constraints) and preference packing (grouping items, piles, layers) rules taken from the test cases. In this problem, bins might of different sizes. The objective is always to minimize the total number of bins. MD-BPP problems are known to be NP-complete. The related literature is rich in heuristics and approximation algorithms. There are few references in Constraint Programming. The problem becomes hard when combining constrains like cardinality on top and orientations of items in a bin. The Optim Pallet solvers use the important global constraints of Choco. The first constraint is the nonoverlapping constraints since handled objects are boxes (3D shapes). The second constraint is the cumulative constraint to model various problem requirements like the maximum allowed weight per bin. From the daily exploitation point of view robustness and quality solutions are the key points. There is no need to optimal solution which is in some cases infeasible for the operators. Quality solutions are the starting points of developing novel and efficient heuristics for different types of problems of pallet optimization. The objective of the heuristics is to respect the user constraints and to drive the CP program to a feasible solution in a short time. Respecting the user constraints (constraints are expressed through parameters) makes possible to compute quality solutions. The time spent at each step selecting the best object is important regarding the total time. However, it make possible to reduce the number of tries and backtracks. 2

3.2 Vehicle / container loading plans Optimizations of vehicle loading are well known problems in TMS (Transport Management Systems). For some sector activities in logistics they are complementary to optimization pallets. For some variants the combinatorial problems to solve are similar. Even, one can find similar constraints. First we distinguish two types of problems: 1 A single container loading problem (SCLP): Boxes of different sizes are stowed in the container as possible by minimizing the unused. From the exploitation point of view it maximizes the use of a container s volume. 2 A multiple containers loading problem (MCLP): Boxes of different sizes are stowed in several containers. The objective is to minimize the total number of required containers needed to stow all given boxes. Many studies on this problem have been conducted and most studies use heuristic approach because these problems belong to the class of NP-Hard problems. In practices there are different variants of SCLP and MCLP. Constraint Programming is a good candidate for loading problems when all items to pack are boxes. Nonoverlapping and cumulative global constraints are good candidate for modelling such problems. Solving the problems in a reasonable time is less trivial and depends on the business constraints to handle. The problems become even hard when business constraints like stackability, stability, deformation and equilibrium are taken into account. Optim Vehicle / Truck tool provides several engine solvers. Each engine solver is dedicated for a variant of SCLP or MCLP problem. An engine solver is structured in several parts: pre-processing to classify the problem, declaration of decision variables, setup of constraints and heuristics. For some problems the optimal solution is required. The typical case is the computation of total linear meters for a set of pallets. This problem is similar to rectangle packing. For the other variants the optimal solution is no longer required. Therefore, the heuristics to drive the CP program are central. Specific engine solvers are developed to handle circular forms. Specific algorithms were developed for these classes of problems in addition to CP programs. 3.3 Assignment of containers to trains First we introduce the different types of planning in order to clarify our contribution. We distinguish three types of planning: Strategic Planning: this is for example the construction of new segments or the acquisition of rolling stocks. Tactical planning: this is for example the computation of hourly time-tabling of train staff or the planning of the train assignments according to demands. Operational planning: this it is for example the scheduling of trains, the assignment of containers to trains or the planning of the loading operations and the equipment handling. This article deals with the operational planning of trains. Furthermore, assigning a destination of a train is treated beforehand and the results are inputs for component optimization developed in this article. The number of wagons and their specifications are also known. The planning of loading and handling equipment is not addressed in this article. The main objectives are: Development of an interactive Full Web application incorporating recent AJAX developments to minimize the flow between the workstation and server. Development of an optimization engine to compute an initial solution and to assist the operator when completing partial solutions. Development of a fast algorithm to assist the operator in choosing the right container for a wagon The problem is known in literature as "bin packing". The objective is to minimize the number of wagons (bins) while placing the maximum number of containers (items). Solving techniques based on mathematical models 3

using integer linear programming in (Bursting) or Metaheuristics which are the most well-known for this class of problems. The constraints taken into account are the maximum weight constraints attached to wagons, the maximum number of containers per wagon, the number of wagons attached to a train and its total weight. Within these limited number of constraints the problem can be solved to optimal degrees. The application handles additional business constraints, among them: 1. The handling of dangerous goods. 2. The incompatibilities between families of containers, e.g. two containers containing dangerous goods cannot be assigned to the same wagon. 3. The original constraints of wagon-makers which are configuration constraints. A configuration corresponds to a type of pre-specified load plan by the manufacturer; they are patterns. It is structured into slots. A slot position describes the position of containers or unit loads on the vehicle. Each configuration has its own maximum total weight constraint and a maximum weight per slot. The problem solving is carried out in two steps. In the first step the application loads a new instance of data (train departure, wagons of the train, containers). After checking the validity of constraints and data, the application launches the first solver which is constraint programming based. The aim is to compute a first good solution respecting the business constraints. Notations : The notations are introduced to facilitate the understanding of modelling constraints. N: the maximum number of wagons M: the number of containers to plan W: the maximum permitted weight of the train wi : i :: 1..M, the weight of the container i. WM i: Maximum Weight of wagon i. Decision variables: S i: S i: 0.. N S i = k means the container i is assigned to wagon k. Bin packing constraints The cumulative constraint [2, 3] expresses resource constraints between sets of domain variables. It can be used for many types of problems, e.g. scheduling with resource constraints (machines, manpower etc), packing and placement problems (one-dimensional bin packing, 2D and 3D problems), or assignment problems (timetabling). The constraint uses rather complex propagation techniques to analyze and develop necessary conditions for consistency. A typical use of cumulative constraint is found in resource scheduling. We have to schedule a number of tasks of different durations where the tasks require certain amounts of resources (e.g. manpower), during their operation. The overall amount of manpower available during the scheduling period is fixed and the total requirements at each time point by all tasks should not exceed the available limit. Syntax: cumulative({so, Do, Ro } o in O, H, Limit) Starts: a list of start dates S i of operations O over a horizon H Durations: a list of their durations D i 4

Resources: list of quantities of resources they use R i, Limit: the maximum resources available, End: the end date for all tasks. The constraint holds if the following condition is satisfied. R Limit, t 1.. H;max( S o o o 1 o n: So t So Do The variant of the cumulative constraint used to model various constraints of the problem is the bin packing cumulative constraints where all tasks have durations equal to one. Helmut Simonis has published several papers [8, 9] showing the exploitation of the bin packing cumulative constraints. Modelling incompatibility constraints These constraints are necessary to model the referencing of containers of dangerous goods. Consider two containers i and j referenced as containing dangerous goods, a typical constraint is the placement of these two containers on different wagons. In CP], the constraint is modeled by constraint "different": S i S j, i j Modelling constraints of maximum weight per car The cumulative constraint is well-suited for modelling Bin Packing problems where: H: the number of wagons. Limit: the maximum total weight per wagon. Each wagon is seen as a bin. A container is modelled as an operation where: S o models the bin (unknown) D o = 1 and W o models the weight of the container (given). D ) H The domain of S o is {1 : N }.. Limit = 75 T Wagon 1 37 T 37 T 30 T 23 T 10 T 23 T 30 T 23 T Wagon 2 Wagon 3 all bins i (cars) have the same length (D o = 1). Strategies Several strategies were developed to solve client s data. The objective is to focus on the quality and the robustness. End-uses contributed actively with CP experts to find a compromise between quality, robustness and to reduce backtracking which is a key point. In the following we sketch the important lines of the best strategy: Selection of the heaviest unit and in case of conflict selects the largest one. This strategy makes possible to distribute heaviest units over the wagons. The assignment of units to containers is guided by a set of preferences. In general it starts from the smallest to the largest value in the domain of the variable. By experience, the solution found is close to optimality. The average computation time is less than one minute on a standard desktop computer. This solution is called the base solution. 5

In a second step the operator starts some interactive actions. The application is Full Web featuring advanced interactive capabilities (WEB 2). Changes are required to take into account urgent constraints (e.g. assignment of an additional container to a given wagon), moving a container from one wagon to another, moving a container from one position in a wagon to another one. All these changes are performed online by the operator. They are implemented as imposed constraints. For the online assignment the constraint programming solver states the problem, sets the imposed constraints and starts the enumeration phase. The average computation time is a few seconds. For this step a second solver based on Tabou search is under development. If the imposed constraints are limited to a small set of moves this solver will be automatically launched. 5. CONCLUSION This work uses Constraint Programming to solve several bin packing problems. The presence of several type of constraints reinforces the choice of Constraint Programming. One of the major contributions is the ability to exploit the incremental aspect of the Constraint Programming to set strategies to drive the CP engine to calculate quality solutions. ACKNOWLEDGMENTS We would like to thank Xavier Lorca (EMN) and Charles Prud'homme (EMN) for the support provided when testing earlier versions of Choco. Special thanks to Nicolas Beldiceanu (EMN), Mats Carlsson (SICS) and François Fages (INRIA) who helped us in modeling and solving large instances. REFERENCES [1] Aggoun, A., Rhiat, A., Grassien, J.P., 2011. Online assignments of containers to trains using constraint programming. MIWAI, December 2011. [2] Aggoun, A., Beldiceanu, N., Bourreau, E. Simonis, H., 1998, The contribution of global constraints for modeling and solving industrial applications. FRANCORO II Second Journées Francophones Operational Research, Sousse, Tunisia, 1998. [3] Aggoun, A., Beldiceanu, N., 1993. Extending CHIP in Order to Solve Complex Scheduling Problems, Journal of Mathematical and Computer Modeling, Vol. 17, No. 7, pages 57-73, Pergamon Press, 1993. [4] Akeb, H., M. Hifi, Algorithms for the circular two-dimensional open dimension problem, International Transactions in Operational Research, Vol. 15, pp 685 704, 2008. [5] Beldiceanu, N., 2000. Global Constraints as Graph Properties on a Structured Network of Elementary Constraints of the Same Type, PO Box 2000, 6th International Conf., Singapore, LNCS vol.1894, p.52-66, 2000 [6] Gunther, HO, Hwan Kim, K., 2005. Container Terminals and Automated Transport Systems. Springer. [7] Lodi, A., Martello, S., Monaci, M., 2002. Two Dimensional Packing Problem : A survey. European Journal of Operational Research, Vol. 141, p. 241-252, 2002. [8] Simonis, H., O Sullivan, B., 2008. Using Global Constraints for Rectangle Packing, CPAIOR 2008, BPPC. [9] Simonis, H.. Building Industrial Application with Constraint Programming. In H. Common, C. March e, and R. Treinen, editors, Constraints in Computational Logics - Theory and Applications, International Summer School, CCL 99 Gif sur Yvette September 5-8, 1999, France, Revised Lectures, pages 271 309. Springer-Verlag, 2001. [10] Vacca, I., Bierlaire, M., Salani, M., 2007. Optimization at Container Terminals: Status, Trends and Perspectives. STRC: Tth Siwss Transport Research Conference, Monte Verita, 12 to 14 September. 6