new heuristics and integer programming formulations for …celso/talks/ppt0000001.pdf · 2 agenda...
TRANSCRIPT
![Page 1: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/1.jpg)
1
New Heuristics and Integer Programming Formulations forScheduling Divisible Load Tasks
Elbio R. Abib (Microsoft, USA)Celso C. Ribeiro (UFF, Brazil)
IEEE CISched 2009, Nashville
![Page 2: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/2.jpg)
2
AgendaDivisible load model
System model and problem formulationSingle- and multi-installment scheduling
Single-installments: mixed integer programmingLinear-time algorithm for a given activation order Fast constructive heuristic with feedbackComputational experimentsMultiple-installments: mixed integer programming
![Page 3: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/3.jpg)
Divisible load model
![Page 4: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/4.jpg)
4
Divisible load modelLoad may be split continuously into arbitrarily many small chunksNo precedence constraints
![Page 5: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/5.jpg)
Interconnection topology: star networkDedicated grid
Model: one master - n workersMaster owns the total load W
No communication/computation overlap in any processor
5
System model and problem formulation
No communicationoverlap through the master
![Page 6: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/6.jpg)
6
System model and problem formulation
Single-installment schedulingEach processor receives portion αi of total load Master takes gi + Gi αi time units to send the data to processor Pi
Processor Pi takes wi αi time units to process dataFixed latency gi
Variable communication time Gi αi
Variable computationtime wi αi
![Page 7: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/7.jpg)
7
Single-installment schedulingmakespanOptimal scheduling
makespanNon-optimal scheduling
![Page 8: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/8.jpg)
8
Multi-installment scheduling
New period New period
Communication/computation concurrency
![Page 9: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/9.jpg)
Related workDivisible load model introduced by Cheng and Robertazzi (1988)Effect of latency in communication studied by Blazewicz and Drozdowski (1997)Beaumont et al. (2005): non-linear integer programming formulation for single-installment systems with latenciesLinear integer programming formulations for single- and multi-installment systems with latencies not available
9
![Page 10: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/10.jpg)
Single-installment mixed integer programming formulation
![Page 11: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/11.jpg)
Problem consists of determiningthe processors to be used (and their number),their activation order, and their loads,
... so as to minimize the makespan.
11
Single-installment scheduling
![Page 12: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/12.jpg)
12
Formulationxij=1, if processor Pi is the j-th to be activated and to receive dataxij=0, otherwise
αij>0, is the amount of data sent to Pi if it is the j-th to be activatedα ij=0, otherwise
tj is the time in which the j-th processor to be activated startsreceiving its data
makespan
![Page 13: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/13.jpg)
13
Formulationxij=1, if processor Pi is the j-th to be activated and to receive dataxij=0, otherwise
αij>0, is the amount of data sent to Pi if it is the j-th to be activatedα ij=0, otherwise
tj is the time in which the j-th processor to be activated startsreceiving its data
At most one processor can be the j-th to be activated
![Page 14: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/14.jpg)
14
Formulationxij=1, if processor Pi is the j-th to be activated and to receive dataxij=0, otherwise
αij>0, is the amount of data sent to Pi if it is the j-th to be activatedα ij=0, otherwise
tj is the time in which the j-th processor to be activated startsreceiving its data
A processor may be activated in at most one position
![Page 15: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/15.jpg)
15
Formulationxij=1, if processor Pi is the j-th to be activated and to receive dataxij=0, otherwise
αij>0, is the amount of data sent to Pi if it is the j-th to be activatedα ij=0, otherwise
tj is the time in which the j-th processor to be activated startsreceiving its data
A processor may be the (j+1)-th to be activated only if there are other j processors already activated
![Page 16: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/16.jpg)
16
Formulationxij=1, if processor Pi is the j-th to be activated and to receive dataxij=0, otherwise
αij>0, is the amount of data sent to Pi if it is the j-th to be activatedα ij=0, otherwise
tj is the time in which the j-th processor to be activated startsreceiving its data
Total load W has to be processed
![Page 17: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/17.jpg)
17
Formulationxij=1, if processor Pi is the j-th to be activated and to receive dataxij=0, otherwise
αij>0, is the amount of data sent to Pi if it is the j-th to be activatedα ij=0, otherwise
tj is the time in which the j-th processor to be activated startsreceiving its data
Processor i can only receive load as the j-th if it is the j-th to be activated
![Page 18: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/18.jpg)
18
Formulationxij=1, if processor Pi is the j-th to be activated and to receive dataxij=0, otherwise
αij>0, is the amount of data sent to Pi if it is the j-th to be activatedα ij=0, otherwise
tj is the time in which the j-th processor to be activated startsreceiving its data
First processor is activated at time t1=0
![Page 19: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/19.jpg)
19
Formulationxij=1, if processor Pi is the j-th to be activated and to receive dataxij=0, otherwise
αij>0, is the amount of data sent to Pi if it is the j-th to be activatedα ij=0, otherwise
tj is the time in which the j-th processor to be activated startsreceiving its data
Communication link is sequentially used: j-th activated processor starts receiving data after (j-1)-th finishes
![Page 20: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/20.jpg)
20
Formulationxij=1, if processor Pi is the j-th to be activated and to receive dataxij=0, otherwise
αij>0, is the amount of data sent to Pi if it is the j-th to be activatedα ij=0, otherwise
tj is the time in which the j-th processor to be activated startsreceiving its data
All processors finish at the same time T
![Page 21: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/21.jpg)
Linear-time algorithm for a given activation order
![Page 22: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/22.jpg)
22
Linear-time algorithm for a given activation order
Blazewicz and Drozdowski (1997): if the activation order and the number of processors are known, the optimal loads are:
![Page 23: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/23.jpg)
23
Linear-time algorithm for a given activation order
may be recursively defined as
may be computed in time O(1)
Optimal solution has the maximum number of processors such that
![Page 24: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/24.jpg)
Algorithm:Compute F(k) for k=1,…, n in time O(n)Compute V(k) for k=1,…, n in time O(n)Optimal number of processors is the largest number of processors k such that V(k) ≤ WLoad assigned to each processor can be computed in time O(n) as described by Blazewicz and Drozdowski (1997)
24
Linear-time algorithm for a given activation order
![Page 25: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/25.jpg)
Fast constructive heuristic with feedback
![Page 26: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/26.jpg)
Constructive feedback heuristicHeuristic for scheduling divisible loads may be seen as any algorithm that generates a “good”activation order and computes the associated optimal loads. Constructive feedback heuristic makes use of the idea of equivalent processorsEach solution is uniquely associated with:
activation order given by a vector πmakespan T
![Page 27: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/27.jpg)
Constructive feedback heuristicEquivalent processor:
Given a time period T, if a load αi = (T-gi) / (wi+Gi) is sent to Pi then it remains busy with communication and processing for this full time period
Equivalent to a processor Pieq with the same
processing power, no communication latency, and throughput 1/Gi
eq =1/[Gi + (gi / αi)]
Optimal activation order for a system with no latencies: processors with higher communication throughput receive data first
![Page 28: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/28.jpg)
Create activation order π with higher throughput processors first
UB = optimal makespan for activation order πRepeat
BestOrder = πT* = UB
Compute new order π
UB = optimum makespan for new activation order πUntil UB ≥ T*
Constructive feedback heuristic
![Page 29: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/29.jpg)
Create activation order π with higher throughput processors first
UB = optimal makespan for activation order πRepeat
BestOrder = πT* = UB
For j = 1, ..., n do
Compute equivalent processor Pieq for each Pi not in π[1], ..., π[j-1]
π[ j ] = processor whose equivalent has the highest throughputUpdate remaining time UB by subtracting the time taken by that
processor
UB = optimum makespan for activation order πUntil UB ≥ T*
Constructive feedback heuristic
![Page 30: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/30.jpg)
Computational experiments
![Page 31: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/31.jpg)
31
Computational experiments
120 grid configurationsNumber of processors: 10, 20, 40, 80, and 160
24 configurations of and
Load W: 100, 200, 400, 800, 1600, and 3200
CPLEX time limit 3600 seconds
![Page 32: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/32.jpg)
32
Computational experimentsCPLEX solved 490 out of 720 test instances
![Page 33: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/33.jpg)
33
Computational experimentsFeedback heuristic found optimal solutions for 398 out of the 490 instances for which CPLEX found the optimum
![Page 34: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/34.jpg)
34
Computational experimentsAverage deviation from optimal value smaller than 0.5% for most of the remaining 92 instances solved to optimality by CPLEX
Heuristic ran for 3ms on average and never for more than 32ms
![Page 35: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/35.jpg)
Multiple-installment mixed integer programming formulation
Introduction
![Page 36: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/36.jpg)
36
Formulation In this case, model also determines the optimal number of installments.
![Page 37: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/37.jpg)
37
FormulationPreliminary results show significant improvements in the makespans are possible, with respect to those obtained by single- and multi-round heuristics.
![Page 38: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3e2009d336ff55b579289f/html5/thumbnails/38.jpg)
Concluding remarks
New mixed integer programming formulations for single- and multi-round schedulings.Linear-time algorithm for the special case in which the processor activation order is known.Fast and effective greedy-with-feedback heuristic.Randomized multistart version of feedback heuristic with local search.Extension to multi-round schedulings.