“implicit” algorithm, and without introducing a
“conductor” we can not manage the problem
efficiently.
First, we show how the original problem can be
transformed into the world of music. Here, the
resource profiles form a “polyphonic melody”. So,
assuming that in every phrase only the “high
sounds” are audible, the transformed problem will
be the following: find the shortest “Sounds of
Silence” melody by improvisation! Naturally, the
“high sound” in music is analogous to the overload
in scheduling.
In the harmony searching process, the
improvisation is fundamentally driven by the “ideas
of the musicians”, but each of the possible decisions
is made by the conductor (hierarchy is hierarchy). At
the start of an improvisation step, the conductor
selects a “promising” melody from the repertoire or
leaves the musicians to improvise freely. In our
magic world, the task of the musicians is very
simple: they only have a slider to select (modify) a
value from interval [-1, 1]. A large positive
(negative) value means that the musician wants to
enter into the melody as early (late) as possible..
Naturally, the magic conductor is able to resolve the
possible conflicts between the fighting ideas and
define the final entering order for the musicians by
solving very simple linear programming problem
which gives a scheduling order. If, the new melody
“sounds good” (it is shorter than the longest “Sounds
of Silence” melody in the repertoire) than it will be
memorized.
The forbidden set can be defined as a set of
activities that could be scheduled concurrently, and
if activities of the set scheduled in parallel, they
would violate the resource constraints. To resolve
the resource conflicts caused by minimal forbidden
sets, it needs to introduce explicit resource conflict
repairing relationships. It is important to note that
the introduction of an explicit conflict repairing
relation might resolve (correct) more than one
forbidden set implicitly.
In the traditional time-oriented model, according
to the explicit resource conflict handling an activity
shift might destroy the schedule. In the presented
model the resource feasibility is not affected by the
feasible activity moves, because of the implicit
resource conflict handling.
In the SoS algorithm, the conductor uses a
simple (but fast and effective) “thumb rule” to
decrease the time requirement of the forbidden set
computation:
In the forward-backward list scheduling process
the conductor (without explicit forbidden set
computation) inserts a precedence relation i→j
between an already scheduled activity i and the
currently scheduled activity j whenever they are
connected without lag. The result will be schedule
without “visible” conflicts.
After that, the conductor (in exactly one step)
repairs all of the hidden (invisible) conflicts,
inserting always the “best” conflict repairing relation
for each forbidden set. In this context “best” means a
relation i→j between two forbidden set members for
which the lag is maximal.
The result of the conflict repairing process will be a
resource-feasible solution set, in which every
movable activity can be shifted without affecting the
resource feasibility. It is well-known that the crucial
point of conflict repairing model is the forbidden set
computation. In the improved algorithm we
combined the "hidden conflict repairing step" with a
pre-processing step to decrease the time requirement
of the forbidden set computation and to speed up the
problem solving process. The essence of the pre-
processing step is very simple: In a cyclically
repairable process, we select the incompatible
activity pairs (triplets) which have exactly one
conflict repairing relation and insert the precedence
relations. The process is terminated when the
relation set will be empty (Csébfalvi and Szendrői,
2012).
4 MOTIVATING EXAMPLES
In this section we show the answers for two "what
if" like questions for a very simple project with one
resource and eight real activities, to demonstrate its
usefulness. Figure 1 shows the makespan minimal
solution with "distributed" floats. Dark grey
background colour means critical activity, the lighter
grey means "freely movable" activity, and light grey
describes its "playfield". When we assume that our
uncertainty about the real duration of activity 3 is
large enough (it is a notorious one) then it would be
good to know, how we can schedule activity 3 more
safely in the price of a two periods longer project
makespan (in the makespan minimal solution,
activity 3 is critical, so from the project manager
point of view, the schedule is a terrible bad
nightmare). In Figure 2 we show the "conformist"
solution.
In each case, SoS reached the optimal solution
very quickly, using a repertoire consisting of only
ten melodies. The number improvisation cycles was
also ten (a cycle means repertoire size
IJCCI2012-InternationalJointConferenceonComputationalIntelligence
292