350 likes | 358 Views
Explore the innovative algorithmic approach for merging logistics services in EMMIL E-commerce model. The text describes the combined negotiation process with trading partners and 3PLs, focusing on optimized procurement and delivery solutions.
E N D
On the Algorithms of the Grid-Based EMMIL E-Marketplace Model Dr. Lívia Kacsukné Bruckner International Business SchoolInst. of Information Systems and Logistics Gábor Hermann, Akos Balasko MTA SZTAKI
EMMIL E-commerce model to integrate logistics 1. Combined negotiation with trading partners and logistics service providers 2. Choosing trading partners and 3PLs
Auction Algorithm for buyer-oriented marketplaces 1 .The buyer issues a request for procurement (RFP) identifying the requirements 2. Sellers bid offering products. 3. The marketplace engine forwards the bids to the 3PLs who place their bids for logistics services. 4. The marketplace engine aggregates the offers from seller and 3PLs and forwards the best one to the buyer 5. The cycle is continued until the lowest accumulated cost is achieved.
The original Objective Function • Qik Purchased quantity of product i. from seller k. • Pik Unit-price of product i. at seller k. as a step • function of quantity • Δk Discount given as a step function after the total • purchase cost at seller k. • xjl є {0,1} decision variable • xjl =1 offer j. of 3PL l. is selected as winner
if then T1 S1 Pj,iQj,i + Vj Qj,i + Fj * else T2 S2 D M N N M N N M N N T3 S3 1 + 1 1 1 1 = Qj,i Qj,i Qj,i Qj,i i = 1 i = 1 j = 1 j = 1 i = 1 j = 1 i = 1 i = 1 i = 1 Z Z Z Z Simplified Objective Functionto minimize: • Basic assumptions: • Each product has the same weight and cubature • Sellers have infinite delivery capacities • There is no discounts • Deliveries are separate (from each sellers to the consumer) • Each transport unit has the same capacity – container size (Z)
Qj,t3,i Qj,t2,i Qj,t1,i t * Fj*yj,t + (Vj +Pj,i)Qj,t,i Qj,i yt=1,yt=2,yt=3 C M N N 1 1 + 1 Qi j = 1 i = 1 i = 1 t = 1 Z Qj,i Trick to obtain linear equations Let us subdivide the variable Qj,iinto Qj,t,i such a way, that objective function remains linear within the domain determined by the container size t and let us introduce an auxiliary “binary” variable yj,twhose value is equal 1 only in the case when the products of sellerj must be delivered in just t containers. In all other cases the value of yj,t must be 0. Where C is the upper limit for and the value of the help variable yj,t must be 0 or 1 The constraints to solve the linear programming problem will be set so that Qj,t,i will be 0 if yj,tis0
The bad consequence is the big number of variables to solve the linear programing problem: Qj,t,i instead of Qj,i and the additional yj,t
U = U! /((U-S)!*S!) cases S GRID must be used to exploit parallel computing capacity How to avoid combinatoric explosion? Idea:Diminish the number of Sellers (Dimension j in Qj,t,i ) Solution: • Investigate only a limited number of “Best Sellers” (U), selected by the heuristic criteria “Every goods a delivered by the same seller”. • Make the calculation parallel for S < U sellers in
EMMIL 1.0 • Goal:Simulation of the simplified Marketplace model in the Grid environment to diminish the computational time • Method:Parametric sweep feature of the P-GRADE Grid Portal
Call the LP_Solver Call the LP_Solver Call the LP_Solver (i) 1 Preparation, constructing the combinations 2 Collect and compare the results US Implementation- Base
N M Di Mi Qi FIX_M Z S U FIX_D VAR_M VAR_D i=1..N Input definition
Call the LP_Solver Call the LP_Solver Call the LP_Solver (i) Implementation - Generator 1 Preparation, constructing the combinations 2 Collect and compare the results US
U 5 S 3 I Generator job • Calculates the simulation tables (UP,Fix_Cost,Var_Cost) • Makes the prefiltering and the associated index table of seller combinations (SeTab )to be matched: Example: M=6;U=5(Se1,Se2,Se3,Se4, Se6);S=3 Combination “k=9” of sellers calculated in a single Job step Assuming that the prefiltering discarded seller = Se5 as the worst bidder: S=3 = = 10
i=1..N i=1..N i=1..M Z N M UPi,j SeTabi,j Qi S k Var_Costj Time Stamps U Fix_Costj i=1..M i=1..S k=1..Comb(U,S) Output definition The output files of the generator differs only in the first number (k) selecting a column of the matrix SeTab determining a set of sellers to be involved in the subsequent linear programming solver
Call the LP_Solver Call the LP_Solver Call the LP_Solver (i) Implementation- LP Solver 1 Preparation, constructing the combinations 2 Collect and compare the results US
II Linear Programming Solver Job • Transforms the input data to the ASCII input format of the LP solver • Executes the Linear LP solver • Writes out the results
t * Fj*yj,t + (Vj +Pj,i)Qj,t,i M N C j = 1 i = 1 t = 1 Generated input of LP solver Real Quantities must be positive
Quantities must match the bid Products of one sellers must fit in one of the Container classes defined as a step function (t=1,2…n container), where yj,t is coded as yj_t and Qj,t,I is coded as xj_i_t yj,t must be Integer
N Var_Costj k U S Var value Fix_Costj Qi UPi,j M Z Var String(xj_t_i, yj_t) Result of LP solver Delivers the solution of the LP system represented by the string , value pares of the variables extended by the input values and by the inhereted and generated time stamps: i=1..N i=1..N i=1..M Succ=T/F Minimum i=1..M Time Stampsinherited and new
Call the LP_Solver Call the LP_Solver Call the LP_Solver (i) Implementation- Collector 1 Preparation, constructing the combinations 2 Collect and compare the results US
III Collector • Reads the results of the LP solver submissions • Selects the best minimum upon the instance minimums calculated by the LP solver.
N 1 + 1 Qi i = 1 Z Test in local environment The inverse function of Container size (Z) and the number of variables of the minimal problem to be solve explains the predicted exponential increasing of calculation time as container size changes
Pilot Implementation using the P-GRADE Portal Input file “Technical” input: DLL of LP_Solver 1:n Collector input port: retains the subsequent job from run until each preceding PS job has terminated Parameter Study Input Port:Executes the subsequent PS jobs as many times as many input files are stored in the associated storage. n:1
EMMIL 1.0 Portlet “Base” Worcester Polytechnic Institute
EMMIL 1.0 Portlet “NEXT” Worcester Polytechnic Institute
1,2,…k Call the LP_Solver Call the LP_Solver For(j=0;j<k;j++) Call the LP_Solver (I,j) Call the LP_Solver Call the LP_Solver Call the LP_Solver (i) 1 Preparation, constructing the combinations 2 Preparation, constructing the combinations Collect and compare the results Collect and compare the results US k+1,k+2,…2k US 2k+1,2k+2,… Implementation improvement:Bundling
Raw Results different bundles of 330 original jobs Worcester Polytechnic Institute
Revised Result of Bundle Test • 10 Real Hosts in the Grid • Increase relative to a single process: • 5 Processes • 4.04x increase • 10 Processes • 6.26x increase • 30 Processes • 5.04x increase
T1 S1 T2 S2 D T3 S3 Path of the Developing The ultimate Goal EMMIL 1.0 EMMIL 2.0 T1 S1 T1 S1 T2 S2 D T2 S2 D T3 S3 T3 S3 Transporters are capable of round trips(Traveling Salesman’s problem) A transporter is associated to a single seller Any transporter may access any seller
N M Di Mi Qi FIX_Mj Z S U FIX_Dj VAR_Mj VAR_Dj L EMMIL 2.0:Input definition Changed i=1..N j=1..M
Fill Product Costs of the Sellers … and Costs of the Distributors…
New Features in EMMIL 2.0 • The Collector generate a comma-separated text file with the results witch can be imported to Excel… • A macro, witch is use an another Collector-generated file to draw the winner Distributors for each Seller, and each Product with a Chart in Excel.