In eah iteration a subproblem is arbitrary seleted and removed from
S
by thefun-tion selet_remove. The exat behavior of this funtion may be dierent for dierent
implementations,resulting invarious searhstrategies.
At the beginning of the iteration, it is evaluated, whether the subproblem has the
po-tentialtoprovideanoptimalsolution otnot. This isdone by the bound funtion,towards
whihthe following requirementshold:
•
it should provide a lower bound for the solutions that an be derived from thesub-problem
•
it should provide the exat makespan of leaf problems, i.e., for ompletely sheduledgraphs
•
it shouldreturn innity if the graphontains a yle, indiatingthat it isunfeasibleThe mostly usedboundfuntionisthe longest pathinthe graph,but LPbased modelsan
also be used, see Holzinger [52℄ for details. If the bound of the subproblem is not smaller
than the best solutionfound so far,the iterationends, and another subproblem isseleted
(if exists).
Iftheboundissmallerthanthevalue of
makespan cb
,the algorithmrstheks,whetherallof thetasksare already sheduled, i.e.,whether the subproblemisompletelysheduled.
If this is the ase, the values of
G cb
,A
, andmakespan cb
are updated tothe S-graphof thebest solution,the orresponding assignments,and the value of its makespan,respetively.
In the ase of a partially sheduled subproblem, the algorithmselets an available unit
(i.e., one from
J ′
) using the selet funtion. Similarly toselet_remove, the implemen-tation of this funtion may alsobe dierentto ahieve various searh strategies.Forthe seleted unit
j
,the algorithmassigns allthe possibletasks(i ∈ I j ∩ I ′
totheendof its proessing queue.
5
For eah assigned task a opy is made of the urrent S-graph, or
morepreiselyaboutthe set ofshedulears andthe weights,asthe set ofnodes andreipe
ars do not hange during the optimization. This opy is rst extended with the shedule
ars indued by the new assignment, i.e., ars from all the subsequent tasks of previously
assigned tasks to
j
are direted toi
.6 Then, the weight of all of the reipe ars fromi
are5
Note, that if no suh task exist, the algorithm simply skips this loop. Avoiding this situation is not
neessarybeauseoftheredutionofthe
J ′
.6
i
itselfisexludedtoavoidloopsinaseofassigningtwosubsequenttaskstothesameunit. Moreover,in theoriginal algorithm, the arswere direted only from the last assignmentif it existed. Here all the
assignmentsarestoredin
A
,whihmakesthedesriptionofthealgorithmsimpler. Althoughtheadditionalupdatedto
t pr i,j
. Finally,anewsubproblemisaddedtoS
withthe modiedgraph,areduedI ′
set, and extendedA
set.Ifalloftheunsheduledtasksanbeperformedbyotheravailableunits,anew
subprob-lemis reated where
j
beomesunavailable for further assignments. This part is needed to allow otherunits to perform the same tasksthatj
an, and to taklethe situation,whenj
has nomore ompatible tasksamong the unsheduled ones.
After the set
S
beomes empty, the graphG db
and the assignments inA cb
desribe theoptimalsolution, and are returned by the funtionif at leastone feasible solutionhas been
found. Otherwise the algorithmdoesnot return with any solution.
2.3.3 Extensions and developments of the S-graph framework
During the years, many extensions and developments of the S-graph framework has been
doneandpublished[46℄. Thealgorithmpresentedintheprevioussubsetionisoftenreferred
to asthe Equipment based algorithm, asit selets aunit, and branhes based onwhih
task should be the next in itsprodution queue. A Branh and Bound algorithmbased on
adierentaspet waspresented byAdonyi[3℄, where ataskisseleted ateahsubproblem,
and the branhing is based on nding an appropriateunit, and an appropriate plae in its
queue. This method is oftenreferred to as the Task based algorithm. The performane
ofthe two algorithmswere omparedviaanextensive empirialanalysis. Asaresult,itwas
stated that there are probleminstanes for both of them where they outperform the other
one. However, it is not evident based on the problem desription, whih is the favorable
one, although, problems with a "bottlenek" usually prefer the equipmentbased approah.
Inmanyases,theprobleminstanesinludetherepetitiveprodutionofseveral bathes
ofthesameprodut. This isusuallyaddressedbyopyingthereipeoftheprodutmultiple
times. With this approah, however, the same solution an be found multiple times with
dierentorder ofthe identialproduts. Toavoidthis, and reduethe omputationalneed,
Holzinger et al.[51℄ introdued auxiliary ars in the S-graph ensuring that eah solutions
is found at most only one. With this modiation, the authors ahieved a tremendous
redution in the CPU time. Hegyhati and Friedler[49℄ has shown that the same eet an
be ahieved for preedene based formulations by adding onstraints equivalent to these
auxiliaryars.
Next to these algorithmi developments, the framework has been extended to various
elds of appliation, where somemodiationsof the original framework was alsoneeded:
Paint prodution Adonyi et al.[1℄ has applied the framework for the sheduling of
a large sale paint prodution plant, where leaning times had to be addressed
as well.
ars (ompared the the original algorithm) are redundant, they express valid relations. Moreover, the
urrentimplementationalsoinludesthesears(althoughinanearlierstage)inordertosharpenthebound
funtion.
Heat integration One of the most developed eld of ontinuous plantdesign is the
design of the heat exhanger network, to minimize utility ost. Although, the
Pinh tehnology[65, 77, 78℄ an provide a deent targets for ontinuous
sys-tems, in ase of bath proesses the timing of streams must be onsidered as
well. Adonyi et al.[2℄ presented an extension of the S-graph framework, where
heat integration spei onstraints were addressed with an LP model that is
maintained thorough the optimization proess in syn with the shedule graph.
Holzingeret al.[54℄further extended this approah toaddressthe sheduling of
heat exhangers as well.
Train sheduling Adonyietal.[4℄hasextendedtheframeworktoaddressthe
shedul-ing problem of the supply trains of tunnel boring mahines, and developed a
graphialinterfae toonvert these problems for the S-graphsolver.
An often exploited advantage of the speialized solution algorithmis the possibility to
generate several dierent solutionandidates, whihan bereallyusefulinpratie, if some
parameters of the original problem an not be inluded in the mathematial model. In
ase of a single objetive, the
n
best solution an be easily generated, and with multipleobjetives, the Pareto border an also simply be maintained (assuming a disrete searh
spae). This framework also gives hane for an aelerated bi-objetive B&B solver, that
has been developed for other disreteproblems[121, 26℄.
Implementational tehniques
The outstanding omputational performane of the S-graph framework an only partially
be redited to the struture of the branh and bound algorithms, and the algorithmi
a-elerations. The otherhalf belongstothe implementationaltehniques andaelerations of
the solver written in C++, that are - with few exeptions - not presented in the sienti
literature.
As the mathematial model of the S-graph framework is not a general model, like the
linear programmingmodels, the solutionalgorithmsare developed by the researhers. This
arries some benets and shortomingsas well:
speed The implementation is adjusted to the model, and optimized, thus the CPU
requirements are redued, and thus the S-graph approahes are ompetitors of
not only the free MILP solvers, but the ommerial ones aswell.
exibility Ateahextension,the researhershas thehanetoimplementtheir ideas
in alowlevelof the algorithm,not in the modellevel.
learning urve These hanges, however, require an extensive knowledge not only
about the S-graphframework,but the software implementation aswell.
The only paper about the S-graph solver implementation of was published by Smidla
and Hekl[119℄, wherethe parallel Branhand Bound implementationisbriey introdued.
The authorsprovided asalable implementation, whih in some ases ould ahieve
super-linearity.
At many points of the algorithm the longest path between two verties is needed ( by
the boundfuntion, and laterextensions). Although thereexists alinear timealgorithmto
the evaluationof thelongestpath between twoverties[23℄, thememoryrequirementofthe
S-graphsolvers isnegligible(omparedtoommerialMILP solvers), thusitisbeneialto
store a matrix of longestpaths for eah subproblem,and keep it updated.
Ifataskanbeperformedonlybyasingleunit,orby severalunits,butonlyoneofthem
is in the available unit set at a ertain subproblem, a shedule ar an already be inserted
from the subsequent tasks of the already assigned tasks of that unit to this task. It is not
sure that this task willbethe next task inthe produtionqueue of the orresponding unit,
but it will denitely be assigned to it later. This small tehnique an drastially sharpen
the boundsfor problems withtasks that an beperformed onlyby a dediated unit.
Similarly to the problem investigated by Holzinger et al.[51℄, the same sitution an
our, when idential units are available, i.e., the same shedule an be generated multiple
times. To avoid this, a simple ondition is to be inserted to the algorithm whih ensures
that if two units are idential, the one with a smaller id has a rst task on its queue with
the smaller id.
In many ases, the dierene between a subproblem, and its hildren problems is small
ompared to the size of the subproblem. To save time onopying these objets, ontainers
using impliit sharingare applied.
Memory handling has also a ruial impat on the CPU requirements. In his diploma
work, Kovas [71℄ details and analyses the eet of dierent mallo implementations. This
work details some other enhanementsof the solveras well.
Relation to Preedene bases MILP models
Without goingintoformaldetails,the aimof this subsetionisto revealthe strong
onne-tion between the S-graph framework and the Preedene based MILP formulations. This
type of investigation is not unpreedented in the literature, Uma et al.[125℄ investigated
the relation between the relaxation of linear formulations and graph models of sheduling
problems, while Maraveilas[86℄ investigated the ombinatorialstruture of xed time point
MILP formulations. As it has already been mentioned, in ase of the lassiation from
Hegyháti and Friedler [49℄, the preedene based formulations and the S-graph framework
belong to the same ategory. Both approahes onsider the sequene of tasks assigned to
the same unit as the key question during the optimization. As a result, the apabilities,
performane, and searh spae are quitesimilar for them.
Inordertoillustratethestrongonnetionbetweenthetwoapproahes,apartialshedule
oftheexampleinFigure2.1isgiveninFigure2.5. Thegurerepresentsthepartialshedule
Figure2.5: Illustrationoftheonnetionbetweenpreedene basedmodels andtheS-graph
framework onapartial shedule of the example given in2.1
after two steps in the S-graph based algorithm. First, the task
A1
is assigned to the unitE1
, then the taskB3
is assigned as the seond task for the same unit. The sequeningbetween them is expressed by the ar between
A2
andB3
.As illustratedinthegure,the samepartialsheduleinapreedene basedmodelwould
mean, that some of the binary variablesare xed toertain values:
• Y A1,E1
takes the value of one, beause of the rst assignment, and as a onsequene, the value ofY A1,E2
is set to zero.•
Similarly,at the seondstep,Y B3,E2
takes the value of one.•
Theseondstep,however,alsodeidesthesequeningbetweenA1
andB3
,thusX A1,B3
is set to one, and
X B3,A1
is set tozero.If the values of these variables are substituted into some of the onstraints, they result in
the following form:
• ST A2 ≥ ST A1 + 6
is a result of the reipe sequening onstraint withY A1,E1 = 1
andY A1,E2 = 0
. This onstraint is expressed diretly by the updated reipe ar betweenthe nodes of
A1
andA2
.• ST B3 ≥ ST A2 = CT A1
is the result of a sequening onstraint withX A1,B3 = 1
andX B3,A1 = 0
.In general, the following objets of the S-graph framework and the preedene based
models relate toeah other:
Preedene based MILP model S-graphframework
Continuous timingvariables - Nodes
Binary alloationvariables - Assignment atnodes
Binary sequening variablesand onstraints - Shedulears
Reipeonstraints - Reipe ars
Model infeasibility - Cyle inthe S-graph
The onnetions above explain why these methodologies have similar features. Though
the searh spae is the same, the way how the S-graph explores it is rather dierent. In
eah branhing step the S-graph based algorithmdeides allof the assignment variables at
a node, and several preedene variablesaswell. Thus, the branhing tree ismuhsmaller.
On the other hand, at eah subproblem, the S-graph algorithmuses the Longest path as a
bound, whih isweakerthan the optimalsolutions of the orresponding relaxed LPmodel.
These observations give rise tomany opportunities for the integration of these two type of
approahes, e.g., a preedene based modelan be maintainedin the S-graphalgorithmfor
providingsharperbounds,oraddressingontinuousdeisions,thatarediulttoimplement
with graphs.
Critial modeling issues
Asithasalreadybeenmentioned,mostoftheapproahes,espeiallytheMILPformulations
do notgo undermathematialvalidation. The ommonpratie isthat the modelis
devel-oped based on a new idea, and the validationis only empirial,i.e., the implementation of
the modelisompared onseveral exampleswith previousmodels fromthe literature. Ifthe
result isthe same onallofthe tested examples,that approahisonsidered tobeaurate.
For the earlier, in a way simpler models, the equations were mostly straight-forward,
and even though, notheoretial proof was attahed. Readers ould aeptwith ondene
that the result willbe orret. As the formulationsdeveloped, however, they beame more
and moreompliated. Inordertoredue theomputationaltime, theshedulingproblems
were takledfrom dierent and unusual "angles", whih brought great suess onone side,
the side of performane. On the other hand, the implementation of the same onstraints
beome more ompliated and "triky". The onstraints are no longer straight forward,
whih isnot a problemitself, however, the validity of the model beame "less onvining".
The situationiseven worse, whenthe problemdenition foranapproahisinomplete,i.e.,
it isnot unambiguouslydened, whatkind of problems are addressable with the approah,
what kindofassumptions are madetowards the parameters orthe behaviorofthe system 1
.
This fearis not unsubstantiated, asseveral modelingissues were already unveiled inthe
literature, and there is nothing, whih would suggest, that there are noundisovered ones.
Before introduingsome of these issues in detail, the nature of modelingmistakes must be
investigatedrst. AlloftheapproahesdisussedinChapter2arebasedontheexamination
ofasearhspae,andndingthebest andidateamongthem. Fromthemathematialpoint
of view, these approahes an have two deienies, assuming that the ranking of solution
andidatesisorret 2
: under-andover-onstraining. Togivetheauratedenitionofthese,
some additionalterms should be introdued rst, whihwill beused throughoutthe whole
doument:
1
Part of thisroots bak to the problemof the lakof standardized denitions for problem lasses, see
Setion 1.2.
2
Inmostoftheases,thisholds. Thereare,however,examples,whentheobjetivevalueofaandidate
isnotevaluated orretly[6℄
solution is aterm used fora shedule,and in the same time forits representation in
a mathematialmodelif it exist.
pratially feasible solution isa solutionthat an beexeuted inreal life.
pratially infeasible solution isasolutionthat violatessomeoftheonstraintsof
real life, thus itannot be exeuted.
pratially optimal solution is the best solution among the pratially feasible
ones.
model-feasible solution is a term used with respet to a model or approah for
desribing a solutionthat is plausible for that approah, i.e., it is in its feasible
region.
model-infeasible solution is also dened for a model for those solutions that are
not in itsfeasible region.
model-optimal solution is the best model-feasiblesolution
Ifnot statedotherwise,the termsfeasibleand infeasiblewillrefertopratiallyfeasible and
pratially infeasiblesolutions,respetively.
One wouldassume,thatinaseofapropermodel,theset ofthemodel-feasiblesolutions
is exatly the same as the set of the (pratially) feasible ones. Moreover, if an approah
ormodelhas model-feasible/model-infeasiblesolutions whih are (pratially)infeasible /
feasible,thenitisfundamentallywrong. Theseapproahes, however, are notusedfor
gener-atingallofthe feasiblesolutions,onlytoprovideatleastoneoptimal,thustherequirements
from the previous sentene are unneessarily limiting.
Having infeasible solutions in the feasible region of a model is a ommon pratie in
optimization to enhane performane, and it does not result in improperresults as long as
it is guaranteed that the objetive value of the pratially infeasible solutions willnot get
better than the optimal value. As an example, the integer variables of MILP problems,
whose matries satisfy the requirements of total unimodularity (assignment problem for
example) an be relaxed to ontinuous variables, and the optimalsolution isensured to be
integer[127℄. This relaxation signiantlyredues the omputationalneed obviously.
Similarly,reduing thesearhspae,and exludingmanypratiallyfeasiblesolutionsis
aeptable if it is ensured that at least one optimalsolution remains in the feasible region
of the model. Holzinger etal.[51℄ has improved the eieny of equipment-based
branh-and-boundalgorithmoftheS-graphframeworkbymagnitudesforproblemswithhighbath
numbers using exatlythis idea.
Thus, in order for a model to malfuntion, it has to fail in at least one of the following
ways for some probleminstanes (not neessarily forall of them):
Under-onstraining: At least one pratially infeasible solution is model-feasible
andithasbetterobjetivevaluethantheoptimal,i.e.,themodel-optimalsolution
is pratiallyinfeasible.
Over-onstraining: All of the pratially feasible and optimal solutions are
model-infeasible, i.e., the model-optimal solutionis pratiallysuboptimal.
Unfortunately, both type of mistakes has appeared in the literature of bath proess
sheduling, and inmany ases the modelbaredboth type ofissues.
3
The followingsetions
willintrodueand investigate this kind of issues.
3.1 Minimal suient number of time points
3.1 Minimal suient number of time points