
 
“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