SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Downloaden Sie, um offline zu lesen
VIRTUAL LOADER
A DEVELOPMENT ENVIRONMENT
FOR
LOAD PLANNING SYSTEMS
Jacob Feldman
Technical Director
Solution Dynamics Inc.
981 US Hwy. 22, Suite 2000
Bridgewater, NJ 08807
(908) 725-5445
Walt Maximuck
President
Solution Dynamics Inc.
981 US Hwy. 22, Suite 2000
Bridgewater, NJ 08807
(908) 725-5445
VIRTUAL LOADER
A DEVELOPMENT ENVIRONMENT
FOR
LOAD PLANNING SYSTEMS
Solution Dynamics Inc. uses ILOG Solver as the basis for a class library used to develop load planning
applications for logistics organizations. The product has several advantages over other approaches: the
ability to quickly add customer-specific business requirements; the ability to satisfy conflicting objectives;
and, advanced load graphics utilities.
1. INTRODUCTION
This paper briefly discusses the experience of Solution Dynamics Inc. (SDI) in building
solutions to different load planning problems. The first part presents a load planning
development environment called Virtual Loader. Virtual Loader was developed by SDI
as a set of C++ components on top of ILOG Solver. The second part explains how
Virtual Loader has been used to build a load planning module for Thomson Consumer
Electronics (TCE).
2. VIRTUAL LOADER
Virtual Loader is designed to be a flexible environment for developing affordable
solutions to load planning problems. It has to be flexible because every customer seems
to have a different combination of operational constraints which need to be
accommodated. The foundation on which Virtual Loader is developed is ILOG Solver.
We chose Solver because the solution search space of the loading problem, although very
large, consists of a finite number of solutions which can be reduced by constraint
propagation. Also, most constraints are logical constraints, so we needed an environment
that would make it easy to embed logical concepts.
Virtual Loader is essentially a set of C++ components for representing and solving the
load planning problem. These software components consist of objects, constraints and
algorithms which define loading objects, loading space and quality of load. Even more
importantly, Virtual Loader is extendible, providing the ability to address new problems
as the market evolves.
2.1. Components
Virtual Loader is composed of the following software components:
• Loading Core
• Loading Engines
• Input/Output Interfaces
• Load Visualization Component.
2.1.1. Loading Core
The Loading Core is a set of C++ classes used to represent different loading
environments and loading requests. The names of some base classes are self-explanatory:
LoadCore, LoadInventory, LoadProblem, LoadSolution, WhereToLoad, WhatToLoad,
LoadConstraint, LoadRequest, LoadEngine, LoadStrategy, etc. For example,
WhatToLoad contains the physical and operational characteristics of different products to
be loaded. WhereToLoad defines the physical and operational characteristics of the
loading spaces. It contains a detailed definition of the available capacity of the load
space at each point in the loading process. LoadConstraints may define different
problem-level, truck-level or product-level loading requirements, e.g. the orientation
(upright, on side, on end) of product in the load.
Most of the Loading Core classes are abstract: they are used only to define interfaces. A
load planning application always contains one instance of the LoadCore class. This
instance knows how to retrieve the information, both static and dynamic, which defines
each loading problem. Different load engines with predefined or customized load
algorithms are then used, as needed, to build load solutions. (It’s important to note that
the same loading constraint “demons” control the modification of the load core
consistency. This is true whether modification is through the graphics editor or by a
LoadEngine. Also, an intelligent graphical user interface which facilitates what-if
analysis can be built using the LoadingCore as an object server representing the current
state of the loading system.)
2.1.2. Loading Engines
The loading algorithms are actually methods of the class LoadEngine. They deal with the
LoadCore objects using different LoadStrategies while satisfying currently active
LoadConstraints. Different LoadEngines may deal with some specialized classes
inherited from WhereToLoad and WhatToLoad classes. LoadTrailer, LoadPallet and
LoadSurface are examples of derived classes.
One predefined load engine contains methods which redefine the configuration of the
load space after loading objects have been placed in the load space; and, select the “best
next” subset of the total available space to be loaded during the loading process. It
provides information to the load space on the state of the next surface to be loaded. This
can impact the selection of loading method and/or loading object(s) used during the next
cycle.
A concrete load engine makes the determination as to which loading methods are used
during each loading operation. The examples of such methods are:
1) building flat surfaces (packing) which maximizes the utilization of
horizontal space;
2) building columns and walls (stacking) which maximizes the utilization
of vertical space.
LoadEngine objects include sophisticated queuing methods for WhatToLoad objects.
These queuing methods have significant impact on both the stability of the load and labor
costs associated with loading and unloading operations. There are multiple levels of,
potentially conflicting, sequencing priorities. The product queue is often reconfigured
many times during the search process depending on the current state of the LoadCore.
The degree of optimization done at each level within the system is primarily constrained
by customer priorities. For instance, the loading algorithm can generate a pattern that is
too complex and labor intensive to load. Most customers want simple row and column
type patterns. These patterns can result in a less dense load; but, they reduce labor costs.
Local optimization can also be overridden by other system components. The queuing
optimization of WhatToLoad objects can be overridden by WhereToLoad if the space
available on the “next best” surface will not support the “next best” product in the loading
queue.
2.1.3. Input/Output Interface
The Interface layer provides the connection between customer data sets and the Loading
Core. It is composed of a set of API’s designed to read and write to a number of different
file formats and memory. It has three major functions:
1) Access information which provides a physical description of
the product which needs to be shipped, the quantity of each
product type, a description of the space(s) available for loading
and the operational constraints which must be satisfied,
2) Convert that information into a format which the Loading Core
can process; and,
3) Convert the results generated by the Loading Core into formats
useable by the Load Visualization Component and other
systems.
We currently have the ability to accept input in the form of flat files with text delimited
format and a variety of other standard file formats. We are also able to accept user
defined problem specific formats through class derivation. We have interfaced to
Warehouse Management (WMS), Traffic Management (TMS) and Order Entry Systems.
Additionally, we are able to use data in a “loadfile” format. This is a file format which
contains the information required to accurately define the characteristics of a load. Since
the “loadfile” format, which is currently used by at least three software vendors, seems to
have become a de-facto standard, SDI has built a set of API’s which allow us to read,
write and modify the “loadfile”.
From the users standpoint, one of the most important features of a load planning system is
the output. Solutions need to be provided in a format that is easily interpreted by various
people (dispatchers, drivers, order pickers, etc.) who need the results in order to
accomplish their tasks. In addition to being able to generate custom output formats used
by WMS and TMS vendors, we currently present loading results in two standard forms:
an ASCII flat text file; and, binary files in “loadfile” format. The binary “loadfiles” allow
us to use the sophisticated editing and viewing capability of LoadGraphics by Quest
Software.
2.1.4. Load Visualization
The Load Visualization Component consists of viewers, editors and report generators. It
converts the solutions generated by a Loading Engine into high quality graphic
representations of the location of each unit loaded. These graphics can be used by:
1) Warehouse personnel during picking and loading operations;
2) Customer Service personnel to verify available capacity before
promising shipment to the customer;
3) Transportation personnel to order the properly sized equipment
from your carriers; and,
4) Your customers during put-away operations.
The Load Visualization Component provides the ability to build powerful editing and
viewing tools customized to our customers requirements.
2.2. Load Planning Applications
SDI built several load planing applications using Virtual Loader C++ components. Here
we briefly describe some of them:
Pallets of Tiered Product. While loading layers of mixed product types across multiple
pallets, the goal is to minimize the number of pallets required. The application honors
physical constraints such as pallet height and weight restrictions as well as each product’s
load bearing capacity or crush factor. The system also handles multiple conflicting
objectives such as optimal picking order and maximum space utilization.
Mixed Product Pallets. The task is to load products of mixed shapes and sizes on a pallet.
Objective is to provide efficient space utilization while supporting efficient picking/
loading operations. The system provides efficient 3-dimensional packing while honoring
customer stacking and palletization constraints.
Truck Loading. Maximize the utilization of space inside a truck while at the same time
generating stacking patterns which are economical to load and which honor customer
shipping constraints. The application handles concepts such as “keep similar product
together”, “do not split product type across trucks”, “do not split purchase orders across
trucks”, “ship highest profit margin product first”, etc.
Shipper Select. Select an appropriately sized shipper(s) (truck, pallet or box) to ensure
the entire load can be shipped.
SDI uses a number of different application Design Patterns based on the type of loading
application we are building. For instance, truck loading and layered pallet loading
virtually always include the column building algorithm. Shipper Select applications all
use modifications of a shipper selection pruning algorithm.
3. LOAD PLANING MODULE FOR THOMSON CONSUMER
ELECTRONICS
3.1. The Situation
TCE sells home entertainment and audio and communications equipment. They ship
product internally to various sites and to a wide variety of customers across North
America. Product destination can be anything from an internal distribution center to an
individual store location or a retailers distribution center. A shipment may consist of
anything from a couple of cases of product to “many” truckloads. A shipment is defined
as a group of products which will all leave a single site bound for a single destination on
the same day.
The TCE product line varies greatly in size and shape. It includes everything from
projection TV’s and home entertainment systems to CD players, telephones and the
accessories that go with them. Some of this product is stored in palletized units, other
product is simply stacked in columns in the warehouse. Another group of products is
shrink wrapped into 2x3x6 bundles called pseudo-pallets. The wide variety of shapes and
sizes makes it impossible to use any “standard cube” analysis which will consistently
make efficient use of truck capacity across the many product mixes that they are required
to ship. Additionally, TCE is being bombarded with a wide variety of shipping
requirements from their customers. These requirements can be broken down into several
groups.
Product prioritization requirements determine which products or groups of products will
be “bumped” from the load if there is not enough room.
Palletization requirements deal with how product is unitized. Some customers want
everything palletized; others want nothing palletized and, others don’t seem to care.
When the unitized bundles are stacked on trucks it is often possible to double stack those
bundles. In some cases there must be a pallet under each bundle, in others there should
be a pallet only under the bottom unit; and, in others there should be no pallets at all.
Finally, in a few cases, the customers receive shipments of palletized product only in
quantities which make up full pallet tiers.
Product integrity constraints deal with how the product is spread across a multiple
shippers (pallets or trucks). These constraints include such things as do not split:
1) Orders across shippers;
2) Product types across shippers;
3) SKU’s across shippers;
4) Order lines across shippers.
Product exclusivity constraints do not allow the mixing of certain types of products in the
same shipper.
Stacking constraints define what products may and may not be stacked on top of each
other.
Although TCE wants to support customer requirements whenever possible, they also have
a need to run the truck loading operation as efficiently as possible. As such, they want to
be able to load product in as large a bundle as possible. This minimizes the number of
trips a fork truck has to make to the truck and the amount of hand loading required. They
therefore want to be able to pull product out of the warehouse stacked to the full height of
the truck whenever possible. If product is palletized, they want to keep it palletized.
In addition to all of the above, TCE has its own requirements regarding placement of
product on a truck. Some of these requirements deal with the size and durability of the
product, others deal with how well it “rides” in the truck and others deal with sales and
marketing requirements.
3.2. The Problem
The mainframe system which was being used to support warehouse and traffic operations,
was no longer supporting the needs of the business. The variety in the product line has
grown rapidly as has the complexity of customer shipping requirements. It was becoming
impossible to be sure that promised shipments would fit on any given truck until the
loading process started. Planning was becoming impossible. In order to ensure they
would be able to ship the customer what was promised, TCE employees began using a
larger and larger “safety buffer”. The result was less than acceptable capacity utilization.
3.3. The Solution
TCE needed a system which would tell them before the shipping orders went to the
warehouse, how many and what sized trucks were needed to ship the order. TCE
contacted SDI in December of 1995 to determine whether on not Virtual Loader was a
viable solution.
3.4. The Implementation
The Load Planning Module (LPM) was implemented as a subsystem of the Order
Fulfillment Process at TCE. An Order Entry System, a Warehouse Management System,
a Traffic Management System together generate a problem interface file (PIF) as input for
LPM. The PIF is a flat file which contains the following information:
1) Quantity of product to be shipped;
2) Available trucks for shipment;
3) Product prioritization;
4) Palletization requirements;
5) Product integrity requirements; and,
6) Truck availability.
After reading the PIF, the LPM accesses a product file which contains the physical
description of the product in length, width, height and weight. It also contains
information about how the product is stored in the warehouse. This includes whether or
not it is palletized, its palletized dimensions and how many units fit on a pallet and in one
tier on a pallet. Finally, it contains constraints on the orientation in which each product
can be stacked.
The system then starts to load product. First it loads unpalletized product onto pallets if
required. It then loads palletized and unpalletized product onto trucks. The order of load
is based on product prioritization constraints which are generated based on both customer
and TCE requirements.
The system honors all constraints mentioned above. When there are conflicts, the system
uses a prioritization scheme to promote and demote conflicting constraints so as to satisfy
overall operational priorities.
If the system fills a truck or pallet and is unable to load all of a product or group of
products which are identified with a “don’t split” tag, it backtracks and begins loading a
different set of products. The “don’t split” group then has priority on the next pallet or
truck.
When solutions have been generated, graphical representations of the loads are printed for
use by warehouse personnel and the sequence of load is passed to the WMS to generate
picking orders. The quantity and size of trucks required to ship the order is sent to the
transportation organization to order the right equipment from the carriers.
4. CONCLUSION
The Load Planning Module being installed at Thomson Consumer Electronics
Americas Division in July combines all of the above functionality. It is integrated
with TCE Warehouse Management, Traffic Management and Order Entry
Systems. SDI spent about two calendar months customizing Virtual Loader to fit
TCE’s requirements. LPM runs on a UNIX server supporting a production
environment; and, on PC’s in support of the Customer Service organization in a
planning mode. Thomson expects to saving in excess 3% of shipping costs. The
Solver based approach provided us the flexibility to address the customer’s needs
in a cost effective manner and thereby win this business.

Weitere ähnliche Inhalte

Andere mochten auch

Better burger
Better burgerBetter burger
Better burgermw2653
 
Winter celebrations 1
Winter celebrations 1Winter celebrations 1
Winter celebrations 1vchambon
 
university certificate.Pdf
university certificate.Pdfuniversity certificate.Pdf
university certificate.PdfMagdy Sadek
 
First Time Homebuyer
First Time HomebuyerFirst Time Homebuyer
First Time HomebuyerBrett Butler
 
Microsoftが教えてくれないWindows azure
Microsoftが教えてくれないWindows azureMicrosoftが教えてくれないWindows azure
Microsoftが教えてくれないWindows azureKazumi Hirose
 
テックヒルズ Microsoft Azureでソーシャルゲームを作ってみた話
テックヒルズ Microsoft Azureでソーシャルゲームを作ってみた話テックヒルズ Microsoft Azureでソーシャルゲームを作ってみた話
テックヒルズ Microsoft Azureでソーシャルゲームを作ってみた話Kazumi Hirose
 
Building a profitable onboarding program
Building a profitable onboarding programBuilding a profitable onboarding program
Building a profitable onboarding programDoxim Inc.
 
Container Handling Equipments
Container Handling EquipmentsContainer Handling Equipments
Container Handling EquipmentsAnuj Gandhi
 

Andere mochten auch (12)

Octoberweek1
Octoberweek1Octoberweek1
Octoberweek1
 
Better burger
Better burgerBetter burger
Better burger
 
UnderwoodTrainingLogo
UnderwoodTrainingLogoUnderwoodTrainingLogo
UnderwoodTrainingLogo
 
Winter celebrations 1
Winter celebrations 1Winter celebrations 1
Winter celebrations 1
 
university certificate.Pdf
university certificate.Pdfuniversity certificate.Pdf
university certificate.Pdf
 
First Time Homebuyer
First Time HomebuyerFirst Time Homebuyer
First Time Homebuyer
 
Microsoftが教えてくれないWindows azure
Microsoftが教えてくれないWindows azureMicrosoftが教えてくれないWindows azure
Microsoftが教えてくれないWindows azure
 
Amazing Animals Photos (Cmp)
Amazing Animals Photos (Cmp)Amazing Animals Photos (Cmp)
Amazing Animals Photos (Cmp)
 
テックヒルズ Microsoft Azureでソーシャルゲームを作ってみた話
テックヒルズ Microsoft Azureでソーシャルゲームを作ってみた話テックヒルズ Microsoft Azureでソーシャルゲームを作ってみた話
テックヒルズ Microsoft Azureでソーシャルゲームを作ってみた話
 
Building a profitable onboarding program
Building a profitable onboarding programBuilding a profitable onboarding program
Building a profitable onboarding program
 
Sifat Sabar
Sifat SabarSifat Sabar
Sifat Sabar
 
Container Handling Equipments
Container Handling EquipmentsContainer Handling Equipments
Container Handling Equipments
 

Ähnlich wie Virtual Loader - Truck Loading Software

DYNAMIC ALLOCATION METHOD FOR EFFICIENT LOAD BALANCING IN VIRTUAL MACHINES FO...
DYNAMIC ALLOCATION METHOD FOR EFFICIENT LOAD BALANCING IN VIRTUAL MACHINES FO...DYNAMIC ALLOCATION METHOD FOR EFFICIENT LOAD BALANCING IN VIRTUAL MACHINES FO...
DYNAMIC ALLOCATION METHOD FOR EFFICIENT LOAD BALANCING IN VIRTUAL MACHINES FO...acijjournal
 
Load Balancing in Auto Scaling Enabled Cloud Environments
Load Balancing in Auto Scaling Enabled Cloud EnvironmentsLoad Balancing in Auto Scaling Enabled Cloud Environments
Load Balancing in Auto Scaling Enabled Cloud Environmentsneirew J
 
LOAD BALANCING IN AUTO SCALING-ENABLED CLOUD ENVIRONMENTS
LOAD BALANCING IN AUTO SCALING-ENABLED CLOUD ENVIRONMENTSLOAD BALANCING IN AUTO SCALING-ENABLED CLOUD ENVIRONMENTS
LOAD BALANCING IN AUTO SCALING-ENABLED CLOUD ENVIRONMENTSijccsa
 
Oracle RI ETL process overview.
Oracle RI ETL process overview.Oracle RI ETL process overview.
Oracle RI ETL process overview.Puneet Kala
 
ANALYSIS ON LOAD BALANCING ALGORITHMS IMPLEMENTATION ON CLOUD COMPUTING ENVIR...
ANALYSIS ON LOAD BALANCING ALGORITHMS IMPLEMENTATION ON CLOUD COMPUTING ENVIR...ANALYSIS ON LOAD BALANCING ALGORITHMS IMPLEMENTATION ON CLOUD COMPUTING ENVIR...
ANALYSIS ON LOAD BALANCING ALGORITHMS IMPLEMENTATION ON CLOUD COMPUTING ENVIR...AM Publications
 
Building the DW - ETL
Building the DW - ETLBuilding the DW - ETL
Building the DW - ETLganblues
 
Oracle appsloadtestbestpractices
Oracle appsloadtestbestpracticesOracle appsloadtestbestpractices
Oracle appsloadtestbestpracticessonusaini69
 
Refactoring Web Services on AWS cloud (PaaS & SaaS)
Refactoring Web Services on AWS cloud (PaaS & SaaS)Refactoring Web Services on AWS cloud (PaaS & SaaS)
Refactoring Web Services on AWS cloud (PaaS & SaaS)IRJET Journal
 
Cloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership OverviewCloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership OverviewCAST
 
Load testing for jquery based e commerce web applications with cloud performa...
Load testing for jquery based e commerce web applications with cloud performa...Load testing for jquery based e commerce web applications with cloud performa...
Load testing for jquery based e commerce web applications with cloud performa...IAEME Publication
 
Datasheet weblogicpluginforrd
Datasheet weblogicpluginforrdDatasheet weblogicpluginforrd
Datasheet weblogicpluginforrdMidVision
 
Replatform .NET Applications with Windows Containers
Replatform .NET Applications with Windows ContainersReplatform .NET Applications with Windows Containers
Replatform .NET Applications with Windows ContainersNeerajSingh1028
 
Internship Report
Internship ReportInternship Report
Internship ReportJiali Chen
 
A Deep Dive into the Liberty Buildpack on IBM BlueMix
A Deep Dive into the Liberty Buildpack on IBM BlueMix A Deep Dive into the Liberty Buildpack on IBM BlueMix
A Deep Dive into the Liberty Buildpack on IBM BlueMix Rohit Kelapure
 
RTC/CLM 2012 Adoption Paths : Deploying in 16 Steps
RTC/CLM 2012 Adoption Paths : Deploying in 16 StepsRTC/CLM 2012 Adoption Paths : Deploying in 16 Steps
RTC/CLM 2012 Adoption Paths : Deploying in 16 StepsStéphane Leroy
 

Ähnlich wie Virtual Loader - Truck Loading Software (20)

DYNAMIC ALLOCATION METHOD FOR EFFICIENT LOAD BALANCING IN VIRTUAL MACHINES FO...
DYNAMIC ALLOCATION METHOD FOR EFFICIENT LOAD BALANCING IN VIRTUAL MACHINES FO...DYNAMIC ALLOCATION METHOD FOR EFFICIENT LOAD BALANCING IN VIRTUAL MACHINES FO...
DYNAMIC ALLOCATION METHOD FOR EFFICIENT LOAD BALANCING IN VIRTUAL MACHINES FO...
 
Load Balancing in Auto Scaling Enabled Cloud Environments
Load Balancing in Auto Scaling Enabled Cloud EnvironmentsLoad Balancing in Auto Scaling Enabled Cloud Environments
Load Balancing in Auto Scaling Enabled Cloud Environments
 
LOAD BALANCING IN AUTO SCALING-ENABLED CLOUD ENVIRONMENTS
LOAD BALANCING IN AUTO SCALING-ENABLED CLOUD ENVIRONMENTSLOAD BALANCING IN AUTO SCALING-ENABLED CLOUD ENVIRONMENTS
LOAD BALANCING IN AUTO SCALING-ENABLED CLOUD ENVIRONMENTS
 
Oracle RI ETL process overview.
Oracle RI ETL process overview.Oracle RI ETL process overview.
Oracle RI ETL process overview.
 
ANALYSIS ON LOAD BALANCING ALGORITHMS IMPLEMENTATION ON CLOUD COMPUTING ENVIR...
ANALYSIS ON LOAD BALANCING ALGORITHMS IMPLEMENTATION ON CLOUD COMPUTING ENVIR...ANALYSIS ON LOAD BALANCING ALGORITHMS IMPLEMENTATION ON CLOUD COMPUTING ENVIR...
ANALYSIS ON LOAD BALANCING ALGORITHMS IMPLEMENTATION ON CLOUD COMPUTING ENVIR...
 
Building the DW - ETL
Building the DW - ETLBuilding the DW - ETL
Building the DW - ETL
 
Optimizing the Cloud Infrastructure for Enterprise Applications
Optimizing the Cloud Infrastructure for Enterprise ApplicationsOptimizing the Cloud Infrastructure for Enterprise Applications
Optimizing the Cloud Infrastructure for Enterprise Applications
 
Oracle appsloadtestbestpractices
Oracle appsloadtestbestpracticesOracle appsloadtestbestpractices
Oracle appsloadtestbestpractices
 
[IJET-V2I2P8] Authors:Ms. Madhushree M.Kubsad
[IJET-V2I2P8] Authors:Ms. Madhushree M.Kubsad[IJET-V2I2P8] Authors:Ms. Madhushree M.Kubsad
[IJET-V2I2P8] Authors:Ms. Madhushree M.Kubsad
 
Refactoring Web Services on AWS cloud (PaaS & SaaS)
Refactoring Web Services on AWS cloud (PaaS & SaaS)Refactoring Web Services on AWS cloud (PaaS & SaaS)
Refactoring Web Services on AWS cloud (PaaS & SaaS)
 
Cloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership OverviewCloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership Overview
 
Load testing for jquery based e commerce web applications with cloud performa...
Load testing for jquery based e commerce web applications with cloud performa...Load testing for jquery based e commerce web applications with cloud performa...
Load testing for jquery based e commerce web applications with cloud performa...
 
Datasheet weblogicpluginforrd
Datasheet weblogicpluginforrdDatasheet weblogicpluginforrd
Datasheet weblogicpluginforrd
 
Replatform .NET Applications with Windows Containers
Replatform .NET Applications with Windows ContainersReplatform .NET Applications with Windows Containers
Replatform .NET Applications with Windows Containers
 
Wap Tpresentation
Wap TpresentationWap Tpresentation
Wap Tpresentation
 
Internship Report
Internship ReportInternship Report
Internship Report
 
A Deep Dive into the Liberty Buildpack on IBM BlueMix
A Deep Dive into the Liberty Buildpack on IBM BlueMix A Deep Dive into the Liberty Buildpack on IBM BlueMix
A Deep Dive into the Liberty Buildpack on IBM BlueMix
 
I018215561
I018215561I018215561
I018215561
 
RTC/CLM 2012 Adoption Paths : Deploying in 16 Steps
RTC/CLM 2012 Adoption Paths : Deploying in 16 StepsRTC/CLM 2012 Adoption Paths : Deploying in 16 Steps
RTC/CLM 2012 Adoption Paths : Deploying in 16 Steps
 
Migration-service-from-OWB-to-ODI-D&T
Migration-service-from-OWB-to-ODI-D&TMigration-service-from-OWB-to-ODI-D&T
Migration-service-from-OWB-to-ODI-D&T
 

Mehr von Jacob Feldman

Good old u serv product derby in the brave new world of decision management
Good old u serv product derby in the brave new world of decision managementGood old u serv product derby in the brave new world of decision management
Good old u serv product derby in the brave new world of decision managementJacob Feldman
 
Practical Techniques for Resolving Conflicts among Business Rules
Practical Techniques for Resolving Conflicts among Business RulesPractical Techniques for Resolving Conflicts among Business Rules
Practical Techniques for Resolving Conflicts among Business RulesJacob Feldman
 
The Decision Table Template For Geospatial Business Rules
The Decision Table Template For Geospatial Business RulesThe Decision Table Template For Geospatial Business Rules
The Decision Table Template For Geospatial Business RulesJacob Feldman
 
Building Domain-Specific Decision Models
Building Domain-Specific Decision ModelsBuilding Domain-Specific Decision Models
Building Domain-Specific Decision ModelsJacob Feldman
 
Integrating Business Rules, Constraint Programming and Machine Learning Techn...
Integrating Business Rules, Constraint Programming and Machine Learning Techn...Integrating Business Rules, Constraint Programming and Machine Learning Techn...
Integrating Business Rules, Constraint Programming and Machine Learning Techn...Jacob Feldman
 
Rules-based Mobile Resource Learner for Field Scheduling Applications
Rules-based Mobile Resource Learner for Field Scheduling ApplicationsRules-based Mobile Resource Learner for Field Scheduling Applications
Rules-based Mobile Resource Learner for Field Scheduling ApplicationsJacob Feldman
 
How to Build Smarter Decision Models Capable To Make Optimal Decisions
How to Build Smarter Decision Models Capable To Make Optimal DecisionsHow to Build Smarter Decision Models Capable To Make Optimal Decisions
How to Build Smarter Decision Models Capable To Make Optimal DecisionsJacob Feldman
 
Rule Violations and Over-Constrained Problems
Rule Violations and Over-Constrained ProblemsRule Violations and Over-Constrained Problems
Rule Violations and Over-Constrained ProblemsJacob Feldman
 
Using Decision Tables to Model and Solve Scheduling and Resource Allocation P...
Using Decision Tables to Model and Solve Scheduling and Resource Allocation P...Using Decision Tables to Model and Solve Scheduling and Resource Allocation P...
Using Decision Tables to Model and Solve Scheduling and Resource Allocation P...Jacob Feldman
 
Modeling and Solving Decision Optimization Problems
Modeling and Solving Decision Optimization ProblemsModeling and Solving Decision Optimization Problems
Modeling and Solving Decision Optimization ProblemsJacob Feldman
 

Mehr von Jacob Feldman (11)

Good old u serv product derby in the brave new world of decision management
Good old u serv product derby in the brave new world of decision managementGood old u serv product derby in the brave new world of decision management
Good old u serv product derby in the brave new world of decision management
 
Practical Techniques for Resolving Conflicts among Business Rules
Practical Techniques for Resolving Conflicts among Business RulesPractical Techniques for Resolving Conflicts among Business Rules
Practical Techniques for Resolving Conflicts among Business Rules
 
The Decision Table Template For Geospatial Business Rules
The Decision Table Template For Geospatial Business RulesThe Decision Table Template For Geospatial Business Rules
The Decision Table Template For Geospatial Business Rules
 
Building Domain-Specific Decision Models
Building Domain-Specific Decision ModelsBuilding Domain-Specific Decision Models
Building Domain-Specific Decision Models
 
Integrating Business Rules, Constraint Programming and Machine Learning Techn...
Integrating Business Rules, Constraint Programming and Machine Learning Techn...Integrating Business Rules, Constraint Programming and Machine Learning Techn...
Integrating Business Rules, Constraint Programming and Machine Learning Techn...
 
Rules-based Mobile Resource Learner for Field Scheduling Applications
Rules-based Mobile Resource Learner for Field Scheduling ApplicationsRules-based Mobile Resource Learner for Field Scheduling Applications
Rules-based Mobile Resource Learner for Field Scheduling Applications
 
How to Build Smarter Decision Models Capable To Make Optimal Decisions
How to Build Smarter Decision Models Capable To Make Optimal DecisionsHow to Build Smarter Decision Models Capable To Make Optimal Decisions
How to Build Smarter Decision Models Capable To Make Optimal Decisions
 
Rule Violations and Over-Constrained Problems
Rule Violations and Over-Constrained ProblemsRule Violations and Over-Constrained Problems
Rule Violations and Over-Constrained Problems
 
Using Decision Tables to Model and Solve Scheduling and Resource Allocation P...
Using Decision Tables to Model and Solve Scheduling and Resource Allocation P...Using Decision Tables to Model and Solve Scheduling and Resource Allocation P...
Using Decision Tables to Model and Solve Scheduling and Resource Allocation P...
 
Connecting the Dots
Connecting the DotsConnecting the Dots
Connecting the Dots
 
Modeling and Solving Decision Optimization Problems
Modeling and Solving Decision Optimization ProblemsModeling and Solving Decision Optimization Problems
Modeling and Solving Decision Optimization Problems
 

Kürzlich hochgeladen

Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Anthony Dahanne
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profileakrivarotava
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 

Kürzlich hochgeladen (20)

Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profile
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 

Virtual Loader - Truck Loading Software

  • 1. VIRTUAL LOADER A DEVELOPMENT ENVIRONMENT FOR LOAD PLANNING SYSTEMS Jacob Feldman Technical Director Solution Dynamics Inc. 981 US Hwy. 22, Suite 2000 Bridgewater, NJ 08807 (908) 725-5445 Walt Maximuck President Solution Dynamics Inc. 981 US Hwy. 22, Suite 2000 Bridgewater, NJ 08807 (908) 725-5445
  • 2. VIRTUAL LOADER A DEVELOPMENT ENVIRONMENT FOR LOAD PLANNING SYSTEMS Solution Dynamics Inc. uses ILOG Solver as the basis for a class library used to develop load planning applications for logistics organizations. The product has several advantages over other approaches: the ability to quickly add customer-specific business requirements; the ability to satisfy conflicting objectives; and, advanced load graphics utilities. 1. INTRODUCTION This paper briefly discusses the experience of Solution Dynamics Inc. (SDI) in building solutions to different load planning problems. The first part presents a load planning development environment called Virtual Loader. Virtual Loader was developed by SDI as a set of C++ components on top of ILOG Solver. The second part explains how Virtual Loader has been used to build a load planning module for Thomson Consumer Electronics (TCE). 2. VIRTUAL LOADER Virtual Loader is designed to be a flexible environment for developing affordable solutions to load planning problems. It has to be flexible because every customer seems to have a different combination of operational constraints which need to be accommodated. The foundation on which Virtual Loader is developed is ILOG Solver. We chose Solver because the solution search space of the loading problem, although very large, consists of a finite number of solutions which can be reduced by constraint propagation. Also, most constraints are logical constraints, so we needed an environment that would make it easy to embed logical concepts. Virtual Loader is essentially a set of C++ components for representing and solving the load planning problem. These software components consist of objects, constraints and algorithms which define loading objects, loading space and quality of load. Even more importantly, Virtual Loader is extendible, providing the ability to address new problems as the market evolves. 2.1. Components Virtual Loader is composed of the following software components: • Loading Core
  • 3. • Loading Engines • Input/Output Interfaces • Load Visualization Component. 2.1.1. Loading Core The Loading Core is a set of C++ classes used to represent different loading environments and loading requests. The names of some base classes are self-explanatory: LoadCore, LoadInventory, LoadProblem, LoadSolution, WhereToLoad, WhatToLoad, LoadConstraint, LoadRequest, LoadEngine, LoadStrategy, etc. For example, WhatToLoad contains the physical and operational characteristics of different products to be loaded. WhereToLoad defines the physical and operational characteristics of the loading spaces. It contains a detailed definition of the available capacity of the load space at each point in the loading process. LoadConstraints may define different problem-level, truck-level or product-level loading requirements, e.g. the orientation (upright, on side, on end) of product in the load. Most of the Loading Core classes are abstract: they are used only to define interfaces. A load planning application always contains one instance of the LoadCore class. This instance knows how to retrieve the information, both static and dynamic, which defines each loading problem. Different load engines with predefined or customized load algorithms are then used, as needed, to build load solutions. (It’s important to note that the same loading constraint “demons” control the modification of the load core consistency. This is true whether modification is through the graphics editor or by a LoadEngine. Also, an intelligent graphical user interface which facilitates what-if analysis can be built using the LoadingCore as an object server representing the current state of the loading system.) 2.1.2. Loading Engines The loading algorithms are actually methods of the class LoadEngine. They deal with the LoadCore objects using different LoadStrategies while satisfying currently active LoadConstraints. Different LoadEngines may deal with some specialized classes inherited from WhereToLoad and WhatToLoad classes. LoadTrailer, LoadPallet and LoadSurface are examples of derived classes. One predefined load engine contains methods which redefine the configuration of the load space after loading objects have been placed in the load space; and, select the “best next” subset of the total available space to be loaded during the loading process. It provides information to the load space on the state of the next surface to be loaded. This can impact the selection of loading method and/or loading object(s) used during the next cycle. A concrete load engine makes the determination as to which loading methods are used during each loading operation. The examples of such methods are:
  • 4. 1) building flat surfaces (packing) which maximizes the utilization of horizontal space; 2) building columns and walls (stacking) which maximizes the utilization of vertical space. LoadEngine objects include sophisticated queuing methods for WhatToLoad objects. These queuing methods have significant impact on both the stability of the load and labor costs associated with loading and unloading operations. There are multiple levels of, potentially conflicting, sequencing priorities. The product queue is often reconfigured many times during the search process depending on the current state of the LoadCore. The degree of optimization done at each level within the system is primarily constrained by customer priorities. For instance, the loading algorithm can generate a pattern that is too complex and labor intensive to load. Most customers want simple row and column type patterns. These patterns can result in a less dense load; but, they reduce labor costs. Local optimization can also be overridden by other system components. The queuing optimization of WhatToLoad objects can be overridden by WhereToLoad if the space available on the “next best” surface will not support the “next best” product in the loading queue. 2.1.3. Input/Output Interface The Interface layer provides the connection between customer data sets and the Loading Core. It is composed of a set of API’s designed to read and write to a number of different file formats and memory. It has three major functions: 1) Access information which provides a physical description of the product which needs to be shipped, the quantity of each product type, a description of the space(s) available for loading and the operational constraints which must be satisfied, 2) Convert that information into a format which the Loading Core can process; and, 3) Convert the results generated by the Loading Core into formats useable by the Load Visualization Component and other systems. We currently have the ability to accept input in the form of flat files with text delimited format and a variety of other standard file formats. We are also able to accept user defined problem specific formats through class derivation. We have interfaced to Warehouse Management (WMS), Traffic Management (TMS) and Order Entry Systems. Additionally, we are able to use data in a “loadfile” format. This is a file format which contains the information required to accurately define the characteristics of a load. Since the “loadfile” format, which is currently used by at least three software vendors, seems to have become a de-facto standard, SDI has built a set of API’s which allow us to read, write and modify the “loadfile”.
  • 5. From the users standpoint, one of the most important features of a load planning system is the output. Solutions need to be provided in a format that is easily interpreted by various people (dispatchers, drivers, order pickers, etc.) who need the results in order to accomplish their tasks. In addition to being able to generate custom output formats used by WMS and TMS vendors, we currently present loading results in two standard forms: an ASCII flat text file; and, binary files in “loadfile” format. The binary “loadfiles” allow us to use the sophisticated editing and viewing capability of LoadGraphics by Quest Software. 2.1.4. Load Visualization The Load Visualization Component consists of viewers, editors and report generators. It converts the solutions generated by a Loading Engine into high quality graphic representations of the location of each unit loaded. These graphics can be used by: 1) Warehouse personnel during picking and loading operations; 2) Customer Service personnel to verify available capacity before promising shipment to the customer; 3) Transportation personnel to order the properly sized equipment from your carriers; and, 4) Your customers during put-away operations. The Load Visualization Component provides the ability to build powerful editing and viewing tools customized to our customers requirements. 2.2. Load Planning Applications SDI built several load planing applications using Virtual Loader C++ components. Here we briefly describe some of them: Pallets of Tiered Product. While loading layers of mixed product types across multiple pallets, the goal is to minimize the number of pallets required. The application honors physical constraints such as pallet height and weight restrictions as well as each product’s load bearing capacity or crush factor. The system also handles multiple conflicting objectives such as optimal picking order and maximum space utilization. Mixed Product Pallets. The task is to load products of mixed shapes and sizes on a pallet. Objective is to provide efficient space utilization while supporting efficient picking/ loading operations. The system provides efficient 3-dimensional packing while honoring customer stacking and palletization constraints. Truck Loading. Maximize the utilization of space inside a truck while at the same time generating stacking patterns which are economical to load and which honor customer shipping constraints. The application handles concepts such as “keep similar product together”, “do not split product type across trucks”, “do not split purchase orders across trucks”, “ship highest profit margin product first”, etc.
  • 6. Shipper Select. Select an appropriately sized shipper(s) (truck, pallet or box) to ensure the entire load can be shipped. SDI uses a number of different application Design Patterns based on the type of loading application we are building. For instance, truck loading and layered pallet loading virtually always include the column building algorithm. Shipper Select applications all use modifications of a shipper selection pruning algorithm. 3. LOAD PLANING MODULE FOR THOMSON CONSUMER ELECTRONICS 3.1. The Situation TCE sells home entertainment and audio and communications equipment. They ship product internally to various sites and to a wide variety of customers across North America. Product destination can be anything from an internal distribution center to an individual store location or a retailers distribution center. A shipment may consist of anything from a couple of cases of product to “many” truckloads. A shipment is defined as a group of products which will all leave a single site bound for a single destination on the same day. The TCE product line varies greatly in size and shape. It includes everything from projection TV’s and home entertainment systems to CD players, telephones and the accessories that go with them. Some of this product is stored in palletized units, other product is simply stacked in columns in the warehouse. Another group of products is shrink wrapped into 2x3x6 bundles called pseudo-pallets. The wide variety of shapes and sizes makes it impossible to use any “standard cube” analysis which will consistently make efficient use of truck capacity across the many product mixes that they are required to ship. Additionally, TCE is being bombarded with a wide variety of shipping requirements from their customers. These requirements can be broken down into several groups. Product prioritization requirements determine which products or groups of products will be “bumped” from the load if there is not enough room. Palletization requirements deal with how product is unitized. Some customers want everything palletized; others want nothing palletized and, others don’t seem to care. When the unitized bundles are stacked on trucks it is often possible to double stack those bundles. In some cases there must be a pallet under each bundle, in others there should be a pallet only under the bottom unit; and, in others there should be no pallets at all. Finally, in a few cases, the customers receive shipments of palletized product only in quantities which make up full pallet tiers. Product integrity constraints deal with how the product is spread across a multiple shippers (pallets or trucks). These constraints include such things as do not split:
  • 7. 1) Orders across shippers; 2) Product types across shippers; 3) SKU’s across shippers; 4) Order lines across shippers. Product exclusivity constraints do not allow the mixing of certain types of products in the same shipper. Stacking constraints define what products may and may not be stacked on top of each other. Although TCE wants to support customer requirements whenever possible, they also have a need to run the truck loading operation as efficiently as possible. As such, they want to be able to load product in as large a bundle as possible. This minimizes the number of trips a fork truck has to make to the truck and the amount of hand loading required. They therefore want to be able to pull product out of the warehouse stacked to the full height of the truck whenever possible. If product is palletized, they want to keep it palletized. In addition to all of the above, TCE has its own requirements regarding placement of product on a truck. Some of these requirements deal with the size and durability of the product, others deal with how well it “rides” in the truck and others deal with sales and marketing requirements. 3.2. The Problem The mainframe system which was being used to support warehouse and traffic operations, was no longer supporting the needs of the business. The variety in the product line has grown rapidly as has the complexity of customer shipping requirements. It was becoming impossible to be sure that promised shipments would fit on any given truck until the loading process started. Planning was becoming impossible. In order to ensure they would be able to ship the customer what was promised, TCE employees began using a larger and larger “safety buffer”. The result was less than acceptable capacity utilization. 3.3. The Solution TCE needed a system which would tell them before the shipping orders went to the warehouse, how many and what sized trucks were needed to ship the order. TCE contacted SDI in December of 1995 to determine whether on not Virtual Loader was a viable solution. 3.4. The Implementation The Load Planning Module (LPM) was implemented as a subsystem of the Order Fulfillment Process at TCE. An Order Entry System, a Warehouse Management System, a Traffic Management System together generate a problem interface file (PIF) as input for LPM. The PIF is a flat file which contains the following information: 1) Quantity of product to be shipped;
  • 8. 2) Available trucks for shipment; 3) Product prioritization; 4) Palletization requirements; 5) Product integrity requirements; and, 6) Truck availability. After reading the PIF, the LPM accesses a product file which contains the physical description of the product in length, width, height and weight. It also contains information about how the product is stored in the warehouse. This includes whether or not it is palletized, its palletized dimensions and how many units fit on a pallet and in one tier on a pallet. Finally, it contains constraints on the orientation in which each product can be stacked. The system then starts to load product. First it loads unpalletized product onto pallets if required. It then loads palletized and unpalletized product onto trucks. The order of load is based on product prioritization constraints which are generated based on both customer and TCE requirements. The system honors all constraints mentioned above. When there are conflicts, the system uses a prioritization scheme to promote and demote conflicting constraints so as to satisfy overall operational priorities. If the system fills a truck or pallet and is unable to load all of a product or group of products which are identified with a “don’t split” tag, it backtracks and begins loading a different set of products. The “don’t split” group then has priority on the next pallet or truck. When solutions have been generated, graphical representations of the loads are printed for use by warehouse personnel and the sequence of load is passed to the WMS to generate picking orders. The quantity and size of trucks required to ship the order is sent to the transportation organization to order the right equipment from the carriers. 4. CONCLUSION The Load Planning Module being installed at Thomson Consumer Electronics Americas Division in July combines all of the above functionality. It is integrated with TCE Warehouse Management, Traffic Management and Order Entry Systems. SDI spent about two calendar months customizing Virtual Loader to fit TCE’s requirements. LPM runs on a UNIX server supporting a production environment; and, on PC’s in support of the Customer Service organization in a planning mode. Thomson expects to saving in excess 3% of shipping costs. The Solver based approach provided us the flexibility to address the customer’s needs in a cost effective manner and thereby win this business.