13 research outputs found
A graph based process model measurement framework using scheduling theory
Software development processes, as a means of ensuring software quality and productivity, have been widely accepted within the software development community; software process modeling, on the other hand, continues to be a subject of interest in the research community. Even with organizations that have achieved higher SEI maturity levels, processes are by and large described in documents and reinforced as guidelines or laws governing software development activities. The lack of industry-wide adaptation of software process modeling as part of development activities can be attributed to two major reasons: lack of forecast power in the (software) process modeling and lack of integration mechanism for the described process to seamlessly interact with daily development activities.
This dissertation describes a research through which a framework has been established where processes can be manipulated, measured, and dynamically modified by interacting with project management techniques and activities in an integrated process modeling environment, thus closing the gap between process modeling and software development.
In this research, processes are described using directed graphs, similar to the techniques with CPM. This way, the graphs can be manipulated visually while the properties of the graphs-can be used to check their validity. The partial ordering and the precedence relationship of the tasks in the graphs are similar to the one studied in other researches [Delcambre94] [Mills96]. Measurements of the effectiveness of the processes are added in this research. These measurements provide bases for the judgment when manipulating the graphs to produce or modify a process.
Software development can be considered as activities related to three sets: a set of tasks (Ď), a set of resources (Ď), and a set of constraints (y). The process, P, is then a function of all the sets interacting with each other: P = {Ď, Ď, y). The interactions of these sets can be described in terms of different machine models using scheduling theory. While trying to produce an optimal solution satisfying a set of prescribed conditions using the analytical method would lead to a practically non-feasible formulation, many heuristic algorithms in scheduling theory combined with manual manipulation of the tasks can help to produce a reasonable good process, the effectiveness of which is reflected through a set of measurement criteria, in particular, the make-span, the float, and the bottlenecks. Through an integrated process modeling environment, these measurements can be obtained in real time, thus providing a feedback loop during the process execution. This feedback loop is essential for risk management and control
Scheduling with communication for multiprocessor computation
Multiprocessor scheduling houdt zich bezig met de planning van de uitvoering van computer-programma s
op een parallelle computer. Een computerprogramma kan worden gezien als een
collectie instructies die gegroepeerd zijn in taken. Een parallelle computer is een computer met
meerdere processoren die verbonden zijn door een communicatie-netwerk. Elke processor kan
taken van een computerprogramma uitvoeren.
Tijdens de uitvoering van een computerprogramma op een parallelle computer wordt elke
taak ´ e´ en maal uitgevoerd. In het algemeen kunnen de taken van een computerprogramma niet
in een willekeurige volgorde worden uitgevoerd: het resultaat van een taak kan nodig zijn
om een andere taak uit te voeren. Zulke taken worden data-afhankelijk genoemd. De data-afhankelijkheden
defini¨ eren de structuur van het computerprogramma: als taak u2 het resultaat
van taak u1 nodig heeft, dan kan u2 pas worden uitgevoerd nadat u1 is voltooid. Als er geen
data-afhankelijkheid bestaat tussen twee taken, dan kunnen ze in willekeurige volgorde of tege-lijkertijd
worden uitgevoerd.
Als twee data-afhankelijke taken u1 en u2 op verschillende processoren worden uitgevoerd,
dan moet het resultaat van u1 naar de processor die u2 uitvoert worden overgebracht. Dit transport
van informatie wordt communicatie genoemd. Het resultaat van u1 kan naar een andere processor
worden overgebracht door het sturen van berichten door het communicatie-netwerk.
Een schedule geeft voor elke taak aan welke processor hem uitvoert en op welk tijdstip. Het
doel van multiprocessor scheduling is het construeren van een schedule van zo kort mogelijke
duur, rekening houdend met de communicatie veroorzaakt door de data-afhankelijkheden tussen
de taken. De duur van een schedule wordt in grote mate bepaald door de hoeveelheid communi-catie
in het schedule: de duur van een schedule kan toenemen doordat een processor lange tijd
geen taken kan uitvoeren, omdat hij staat te wachten op het resultaat van een taak die op een
andere processor wordt uitgevoerd.
Omdat de wijze waarop processoren van parallelle computers communiceren verschilt per
computer, is het uiterst moeilijk om op effici¨ ente wijze goede schedules te construeren voor een
computerprogramma op een parallelle computer. Daarom wordt in het algemeen een model van
een parallelle computer gebruikt in plaats een echte parallelle computer. Zo n model wordt een
parallel berekeningsmodel genoemd. In een parallel berekeningsmodel kan men zich concen-treren
op die aspecten van communicatie die een grote invloed hebben op de kwaliteit van een
schedule. Dit geeft de mogelijkheid deze aspecten beter te begrijpen.
In dit proefschrift worden twee parallelle berekeningsmodellen beschouwd: het UCT model
en het LogP model. Het UCT model richt zich op het bestuderen van ´ e´ en aspect van commu-nicatie:
een tijdvertraging die nodig is om resultaten tussen processoren te transporteren. Het
LogP model is een model dat meerdere aspecten van communicatie in acht neemt: door middel
van een geschikt gekozen invulling van zijn parameters L, o, g en P kan het LogP model de
communicatie in vele parallelle computers modelleren.
Communicatie in het UCT model werkt als volgt. Als taak u2 het resultaat van taak u1 nodig
heeft en deze taken zijn op verschillende processoren uitgevoerd, dan moet er een vertraging van
tenminste ´ e´ en tijdstap zijn tussen de tijd waarop u1 wordt voltooid en de tijd waarop u2 start.
171?Deze vertraging is nodig om het resultaat van u1 naar de processor die u2 uitvoert te sturen. Als
u1 en u2 op dezelfde processor worden uitgevoerd, dan is het resultaat van u1 al op de juiste
processor beschikbaar en is er geen vertraging nodig. In dat geval kan u2 direct na u1 worden
uitgevoerd.
Communicatie in het LogP model is veel ingewikkelder. Beschouw wederom twee data-afhankelijke
taken u1 en u2 die op verschillende processoren worden uitgevoerd. Neem aan
dat het resultaat van u1 moet worden getransporteerd naar de processor die u2 uitvoert. In vele
gevallen kan het transporteren van het resultaat van een taak niet met ´ e´ en bericht, maar zijn
meerdere berichten nodig. Deze moeten naar de processor die u2 uitvoert worden gestuurd. Het
versturen van ´ e´ en bericht kost o tijdstappen op de processor die u1 uitvoert; het ontvangen ervan
kost o tijdstappen op de processor die u2 uitvoert. Daarnaast kan elke processor ten hoogste ´ e´ en
bericht versturen of ontvangen in elke g opeenvolgende tijdstappen en is er een vertraging van
precies L tijdstappen tussen het versturen en het ontvangen van een bericht.
In het eerste deel van dit proefschrift (hoofdstukken 3, 4, 5, 6 en 7) worden algoritmen be-schreven
die op effici¨ ente wijze schedules in het UCT model construeren. In hoofdstuk 4 wordt
een algoritme beschreven dat goede schedules construeert voor willekeurige computerprogram-ma s.
Voor computerprogramma s met een outforest-structuur construeert dit algoritme optimale
schedules. In hoofdstuk 5 beschrijven we algoritmen die goede schedules construeren voor com-puterprogramma s
met een inforest-structuur. De algoritmen die worden beschreven in hoofd-stukken
6 en 7 construeren optimale schedules voor computerprogramma s waarin het maximum
aantal paarsgewijs data-onafhankelijke taken klein is en voor computerprogramma s met een in-terval
order-structuur.
Het tweede deel van dit proefschrift (hoofdstukken 8, 9, 10 en 11) houdt zich bezig met
scheduling in het LogP model. In hoofdstukken 9 en 10 bewijzen we dat het construeren van
optimale schedules voor computerprogramma s met een zeer eenvoudige boomstructuur (send
graph-structuur of receive graph-structuur) waarschijnlijk niet op effici¨ ente wijze mogelijk is.
In deze hoofdstukken worden effici¨ ente algoritmen beschreven die goede (maar niet noodzake-lijk
optimale) schedules construeren voor computerprogramma s met een dergelijke structuur.
In hoofdstuk 11 worden decompositie-algoritmen gebruikt om op effici¨ ente wijze schedules te
construeren voor computerprogramma s met een algemene boomstructuur.
Het blijkt dat optimale schedules in het UCT model op effici¨ ente wijze kunnen worden ge-construeerd
als de structuur van de computerprogramma s eenvoudig is (bijvoorbeeld computer-programma s
met een boomstructuur). De eenvoudige aard van de communicatie in het UCT
model maakt dit mogelijk. Vandaar dat de complexiteit van scheduling in het UCT model met
name bepaald wordt door de structuur van de computerprogramma s. Daarentegen maakt de
communicatie het moeilijk om goede schedules in het LogP model te construeren, zelfs als de
structuur van de computerprogramma s zeer eenvoudig is (bijvoorbeeld computerprogramma s
met een send graph-structuur). Hieruit blijkt dat de complexiteit van scheduling in het LogP
model in grote mate wordt bepaald door de ingewikkelde vorm van communicatie in dit model.
17
Makespan Minimization in Re-entrant Permutation Flow Shops
Re-entrant permutation flow shop problems occur in practical applications such as wafer manufacturing, paint shops, mold and die processes and textile industry. A re-entrant material flow means that the production jobs need to visit at least one working station multiple times. A comprehensive review gives an overview of the literature on re-entrant scheduling. The influence of missing operations received just little attention so far and splitting the jobs into sublots was not examined in re-entrant permutation flow shops before. The computational complexity of makespan minimization in re-entrant permutation flow shop problems requires heuristic solution approaches for large problem sizes. The problem provides promising structural properties for the application of a variable neighborhood search because of the repeated processing of jobs on several machines. Furthermore the different characteristics of lot streaming and their impact on the makespan of a schedule are examined in this thesis and the heuristic solution methods are adjusted to manage the problemâs extension
New utilization criteria for online scheduling
In the classical scheduling problems, it has been assumed that complete knowledge of the problem was available when it was to be solved. However, scheduling problems in the real world face the possibility of the lack of the knowledge. Uncertainties frequently encountered in scheduling environments include the appearance of new jobs and unknown processing times. In this work, we take into account these realistic issues.
This thesis deals with the problem of non-preemptive scheduling independent jobs on m identical parallel machines. In our online model, the jobs are submitted over time non-clairvoyantly. Therefore, the processing times of the jobs are unknown until they complete. Further, we assume that the ratio of weight to processing time is equal for all jobs, that is, all jobs have the same priorities. The jobs are assigned to the machines in a nondelay fashion. Our main scheduling objective is to maximize the utilization of the system.
We show that the commonly used makespan criterion usually cannot reflect the true utilization of this kind of online scheduling problems. For this reason, it is very important to find another criterion capable of evaluating system utilization. Therefore, we introduce two new alternative criteria that more accurately capture the utilization of the machines. Moreover, we derive competitive factors for both criteria. Those competitive factors are tight for one criterion and almost tight for the other. Finally, we present an experimental investigation
to evaluate the performance of the nondelay online algorithm with respect to our criteria. The experimental results show the confirmation of our theoretical results
Serial batch processing machine scheduling: a cement industry case study
Dissertação de mestrado em Engenharia de SistemasThis work arises in the Cement Industry in the process of scheduling the clients to the
warehouse and assignment to docking bays. The goal is to solve the scheduling and assignment
problem, to improve both companyâs service levels and the efficiency of its resources. After the
real problem analysis, it was possible to conclude that it could be solved as a batching machine
scheduling problem, where the jobs are the clients to be schedule, and the machine is the
warehouse. The problem can be described as max 1 | rj,s-batch | Cmax . A Mixed Integer Linear
Programming (MILP) model was proposed. However, as the number of jobs increased it started
having computational difficulties. To overcome the problems of the MILP model two heuristics were
proposed. The first one is a Constructive Algorithm (CA) that creates a first solution for the problem.
The second heuristic is a metaheuristic algorithm, based on Simulated Annealing procedures, that
starts with the initial solution of the CA and through three possible moves starts constructing the
neighboring solutions space. After constructing the neighboring solutions space, it returns the best
solution found. The computational tests proved that both the MILP model and the heuristics can
ensure both feasible and optimum solutions. However, the MILP model consumes more
computational resources. For some larger instances and giving a maximum limit of computational
time of 8 hours, the MILP model cannot reach the optimality, nor the good results obtained by the
heuristics, for those larger instances.
The machine scheduling is a good approach for scheduling the trucks to the warehouse. Since
it is also an innovative approach for the problem, considering the literature studied, maybe this
work will inspire others to work on this idea or, at least, serve as a basis for future researches.Este trabalho tem como cenĂĄrio a IndĂşstria Cimenteira no processo de agendamento de
clientes para atendimento no armazÊm e atribuição de pontos de carga. O objetivo Ê resolver o
problema de agendamento visando otimizar tanto os nĂveis de serviço da empresa bem como a
eficiĂŞncia dos seus recursos. Depois da anĂĄlise detalhada do problema real foi possĂvel concluir
que este podia ser resolvido como um problema de processamento em lotes em mĂĄquina Ăşnica,
onde as tarefas a agendar seriam os clientes e a mĂĄquina o armazĂŠm. O problema pode entĂŁo ser
descrito como 1 | rj,s-batch | Cmax . Um modelo de Programação Linear Inteira Mista (PLIM)
foi proposto. Contudo, à medida que o número de tarefas aumentava, o modelo começava a ter
dificuldades computacionais na obtenção de solução ótima. Para ultrapassar essas dificuldades,
foram desenhadas e propostas duas heurĂsticas. A primeira ĂŠ um Algoritmo Construtivo (AC) capaz
de retornar uma solução inicial. A segunda, uma meta-heurĂstica, baseada na abordagem do
Simulated Annealing, que trabalha a solução inicial gerada pelo AC, atravÊs de três movimentos
possĂveis, e gera uma vizinhança de soluçþes. Depois, procura e retorna a melhor solução possĂvel
dessa vizinhança. Os testes computacionais provaram que tanto o modelo de PLIM como as
heurĂsticas sĂŁo capazes de retornar tanto soluçþes possĂveis como Ăłtimas. Contudo, o modelo de
PLIM consome muitos mais recursos computacionais do que as heurĂsticas. Para instâncias de
tamanho superior, dado um tempo de computação måximo de 8 horas, o PLIM, não conseguindo
atingir a solução Ăłtima, nem sequer consegue atingir soluçþes tĂŁo boas como as das heurĂsticas.
A abordagem de agendamento em mĂĄquinas, utilizada neste trabalho, mostrou-se ser uma boa
abordagem para o agendamento de clientes no armazĂŠm. Para alĂŠm disso, esta ĂŠ uma abordagem
inovadora, tendo em conta a literatura estudada, e, talvez possa inspirar outros autores a trabalhar
nesta ideia ou entĂŁo servir de base para pesquisas futuras
Theory and Engineering of Scheduling Parallel Jobs
Scheduling is very important for an efficient utilization of modern parallel computing systems. In this thesis, four main research areas for scheduling are investigated: the interplay and distribution of decision makers, the efficient schedule computation, efficient scheduling for the memory hierarchy and energy-efficiency. The main result is a provably fast and efficient scheduling algorithm for malleable jobs. Experiments show the importance and possibilities of scheduling considering the memory hierarchy
An investigation of changeover sensitive heuristics in an industrial job shop environment
EThOS - Electronic Theses Online ServiceGBUnited Kingdo