Presentation is loading. Please wait.

Presentation is loading. Please wait.

On the Algorithms of the Grid- Based EMMIL E-Marketplace Model Dr. Lívia Kacsukné Bruckner International Business School Inst. of Information Systems and.

Similar presentations


Presentation on theme: "On the Algorithms of the Grid- Based EMMIL E-Marketplace Model Dr. Lívia Kacsukné Bruckner International Business School Inst. of Information Systems and."— Presentation transcript:

1 On the Algorithms of the Grid- Based EMMIL E-Marketplace Model Dr. Lívia Kacsukné Bruckner International Business School Inst. of Information Systems and Logistics Gábor Hermann, Akos Balasko MTA SZTAKI

2 1. Combined negotiation with trading partners and logistics service providers EMMIL E-commerce model to integrate logistics 2. Choosing trading partners and 3PLs

3 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.

4 Q i k Purchased quantity of product i. from seller k. P i k 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. x j l є {0,1} decision variable x j l =1  offer j. of 3PL l. is selected as winner The original Objective Function

5 Simplified Objective Function to minimize:  i = 1    Q j,i  i = 1    Q j,i  if  j = 1     i = 1   j = 1   i = 1  P j,i Q j,i +VjVj Q j,i +F j * then  i = 1    Q j,i  i = 1    Q j,i  else 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) S1T1 T3 T2 S2 S3S3 D

6 Trick to obtain linear equations  j = 1   i = 1  t * F j *y j,t +  t = 1 C (V j + P j,i )Q j,t,i Where C is the upper limit for  i = 1    QiQi  and the value of the help variable y j,t must be 0 or 1 The constraints to solve the linear programming problem will be set so that Q j,t,i will be 0 if y j,t is 0 Let us subdivide the variable Q j,i into Q j,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 y j,t whose value is equal 1 only in the case when the products of seller j must be delivered in just t containers. In all other cases the value of y j,t must be 0. Q j,i Q j,t2,i Q j,t3,i Q j,t1,i Q j,i 1 y t=1,y t=2,y t=3

7 Q j,i 1 y t=1,y t=2,y t=3

8 The bad consequence is the big number of variables to solve the linear programing problem: Q j,t,i instead of Q j,i and the additional y j,t

9 How to avoid combinatoric explosion? Idea: Diminish the number of Sellers (Dimension j in Q j,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 U S = U! /((U-S)!*S!) cases GRID must be used to exploit parallel computing capacity

10 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

11 Implementation- Base Preparation, constructing the combinations Call the LP_Solver Call the LP_Solver (i) Collect and compare the results 1 2 USUS

12 Input definition NMDiDi MiMi QiQi FIX_M ZSU FIX_DVAR_MVAR_D i=1..N NNumber of Products MNumber of Sellers UNumber of “best” Sellers SNumber of “selected” Sellers ZContainer size (Number of products / Container) QiOrder size of Product i MiMiddle value of distribution simulating unit price of Product i DiDeviation value of distribution simulating unit price of Product i FIX_MMiddle value simulating distribution of fix cost associated to Seller j FiX_DDeviation value simulating distribution of fix cost associated to Seller j VAR_MMiddle value simulating distribution of variable cost associated to Seller j VAR_DDeviation value simulating distribution of variable cost associated to Seller j

13 Implementation - Generator Preparation, constructing the combinations Call the LP_Solver Call the LP_Solver (i) Collect and compare the results 1 2 USUS

14 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 1111112223 2223343344 3464666466 Assuming that the prefiltering discarded seller = Se5 as the worst bidder: S=3 U S 5 3 == 10 Combination “k=9” of sellers calculated in a single Job step

15 Output definition NMUP i,j SeTab i,j QiQi Fix_Cost j ZSU i=1..N k Var_Cost j Time Stamps i=1..M i=1..S k=1..Comb(U,S) 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

16 Implementation- LP Solver Preparation, constructing the combinations Call the LP_Solver Call the LP_Solver (i) Collect and compare the results 1 2 USUS

17 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

18 Generated input of LP solver  j = 1   i = 1  t * F j *y j,t +  t = 1 C (V j + P j,i )Q j,t,i Real Quantities must be positive

19 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 y j,t is coded as yj_t and Q j,t,I is coded as xj_i_t y j,t must be Integer

20 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 y j,t is coded as yj_t and Q j,t,I is coded as xj_i_t y j,t must be Integer

21 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: NMUP i,j QiQi Fix_Cost j ZSU i=1..N kVar_Cost j i=1..M Var value Var String (xj_t_i, yj_t) Succ=T/F Minimum Time Stamps inherited and new

22 Implementation- Collector Preparation, constructing the combinations Call the LP_Solver Call the LP_Solver (i) Collect and compare the results 1 2 USUS

23 III Collector Reads the results of the LP solver submissions Selects the best minimum upon the instance minimums calculated by the LP solver.

24 Test in local environment  i = 1    QiQi  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

25 Pilot Implementation using the P- GRADE Portal Input file “Technical” input: DLL of LP_Solver Parameter Study Input Port: Executes the subsequent PS jobs as many times as many input files are stored in the associated storage. Collector input port: retains the subsequent job from run until each preceding PS job has terminated 1:n n:1

26 Change DateWorcester Polytechnic Institute26 EMMIL 1.0 Portlet “Base”

27 Change DateWorcester Polytechnic Institute27 EMMIL 1.0 Portlet “NEXT”

28 Results of simple Grid Test

29 Implementation improvement: Bundling Preparation, constructing the combinations Call the LP_Solver Collect and compare the results 1,2,…k k+1,k+2,…2k USUS 2k+1,2k+2,… For(j=0;j<k;j++) Call the LP_Solver (I,j) Preparation, constructing the combinations Call the LP_Solver Call the LP_Solver (i) Collect and compare the results 1 2 USUS

30 Results of Bundled Grid running

31 Change DateWorcester Polytechnic Institute31 Raw Results different bundles of 330 original jobs

32 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

33 Path of the Developing S1T1 T3 T2S2S2 S3S3 D EMMIL 1.0 S1T1 T3 T2S2S2 S3S3 D EMMIL 2.0 The ultimate Goal S1T1 T3 T2S2S2 S3S3 D A transporter is associated to a single seller Any transporter may access any seller Transporters are capable of round trips (Traveling Salesman’s problem)

34 EMMIL 2.0: Input definition Changed NMDiDi MiMi QiQi FIX_M j ZSUFIX_D j VAR_M j VAR_D j i=1..N NNumber of Products MNumber of Sellers UNumber of “best” Sellers SNumber of “selected” Sellers ZContainer size (Number of products / Container) LNumber of Distributors QiOrder size of Product i MiMiddle value of distribution simulating unit price of Product i DiDeviation value of distribution simulating unit price of Product i FIX_MjMiddle value simulating distribution of fix cost associated to Seller j FiX_DjDeviation value simulating distribution of fix cost associated to Seller j VAR_MjMiddle value simulating distribution of variable cost associated to Seller j VAR_DjDeviation value simulating distribution of variable cost associated to Seller j L j=1..M

35 Portlet of the EMMIL 2.0

36 Fill Product Costs of the Sellers … and Costs of the Distributors…

37 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.

38 Any Questions?


Download ppt "On the Algorithms of the Grid- Based EMMIL E-Marketplace Model Dr. Lívia Kacsukné Bruckner International Business School Inst. of Information Systems and."

Similar presentations


Ads by Google