=Paper= {{Paper |id=Vol-494/paper-45 |storemode=property |title=Agent based Modeling and Simulation of Multi-project Scheduling |pdfUrl=https://ceur-ws.org/Vol-494/masspaper8.pdf |volume=Vol-494 |dblpUrl=https://dblp.org/rec/conf/mallow/ArauzoPLP09 }} ==Agent based Modeling and Simulation of Multi-project Scheduling== https://ceur-ws.org/Vol-494/masspaper8.pdf
        Agent-based modeling and simulation of multi-
                     project scheduling

  José Alberto Araúzo, Javier Pajares, Adolfo Lopez-                                              Juan Pavón
                       Paredes                                                             Facultad de Informática
       Social Systems Engineering Centre (INSISOC)                                   Universidad Complutense de Madrid
                  University of Valladolid                                                     Madrid (Spain)
                     Valladolid (Spain)                                                      jpavon@fdi.ucm.es
              {arauzo,pajares,adolfo}insisoc.es


Abstract—There are no analytical solutions for the problem of              Classical methods are based on mathematical programming
dynamic scheduling of resources for multiple projects in real-         and can solve this problem when the complexity is low. And
time. Mathematical approaches, like integer programming or             there are some heuristics and meta-heuristics that are able to
network based techniques, cannot describe complexity of real           provide good schedules for more complex problems [9]. The
problems (multi-projects environments have many interrelated           traditional scheduling and control systems propose hierarchical
elements), and have difficulties to adapt the analysis to dynamics     and centralized architectures, where a classical scheduler
changes. However, this complex problem can be modeled as a             system that has a global model of the multi-project
multi-agent system, where agents negotiate resources through an        environment makes schedules according to the current state of
auction inspired mechanism. Agents can be used to represent
                                                                       the system. Hans et al. [4] review existing literature in
projects and resources. Projects demand resources for fulfilling
their scheduled planned work, whereas resources offer their
                                                                       hierarchical approaches and propose a generic project planning
capabilities and workforce. An auction inspired mechanism is           and control framework for helping management to choose
used to allocate resources to projects and the price of resources      between planning methods, depending on organisational issues.
emerges and changes over time depending on supply and demand               But these techniques are not flexible or robust enough, and
levels in each time slot. By means of this multi-agent system, it is   have difficulties to consider many real factors. In addition, real
possible to overcome most of the problems faced in multi-project       environments undergo frequent changes (new resources, new
scheduling such as changes in resources capabilities, allocation
                                                                       technologies) that force to modify the scheduling system. The
flexibility, changes in project strategic importance, etc.
                                                                       traditional scheduling and control systems, which are based on
    Keywords—agent-based modelling; agent-based simulation;            hierarchical and centralized architectures, have not enough
multi-project environments; auction based resources allocation;        flexibility to adapt themselves to the dynamism and complexity
project scheduling.                                                    of multi-project environments.
                                                                           These issues have motivated, in last years, successive
                       I.    INTRODUCTION                              proposals are appearing to improve the scheduling and control
    The problem of allocating resources for multiple concurrent        in a multi-project environment. The paradigm of Multi-agent
projects appears in large cases of service and manufacturing           Systems (MAS) can help to find solutions, especially in cases
organizations. A paradigmatic example can be an engineering            where some social behaviour emerges. This paper shows an
projects office. This organization makes different kinds of            agent-based approach for online dynamic scheduling and
projects that are proposed at any time, which must be handled          control in multi-project environments that takes advantage of
in a given time frame. Each project consists of a number of            the ability of agents to negotiate and adapt to changing
activities (calculations, design, checks, budgeting, etc.) that are    conditions. The MAS has basically two types of agents:
performed by workers and with some precedence relationships.           projects managers and resources managers.
The workers can perform one or several activities according to             Projects have scheduled work to be done by different
their skills. Decision makers have to reject inadvisable projects      resources. Resources are endowed with some capabilities
and decide which resources will be allocated to which projects         (knowledge, work force, etc.) that are needed to do the work.
and when.                                                              Projects demand resources over time and resources offer their
    Previous decisions have high impact in the office’s profit.        capabilities and time availability. There is an auction process,
In order to achieve strategic goals it is important to give            and the price of resource-time slots emerges endogenously as a
priority to projects, and to allocate activities to the most           result of supply and demand. The design of the auction process
efficient workers at the appropriate time. Because of this,            uses a technique that has been proposed for distributed
before executing projects it is advisable to make a schedule that      scheduling in the literature [8], [14], [11].
optimizes the allocation of resources.                                     This agent-based approach has two distinctive aspects with
                                                                       respect to other works: the integration of strategic decisions
(accept or reject new projects) and operative aspects (resource         system to create new agents and monitoring the global
allocation), and the ability to manage resource flexibility. This       behavior.
allows mangers to study the advisability of increasing the
flexibility of resources.                                               A. Project Manager Agents
   The next section introduces the role of agent-based                      Each project is associated to a Project Manager Agent. The
modeling and simulation in project scheduling. Section 3                system is considered dynamic: while some projects are being
presents the MAS for the real-time scheduling problem, which            developed other projects can be included or rejected in real-
has been specified with an agent-oriented modeling language,            time, which implies the creation and deletion of the
INGENIAS [10]. This has been the basis for implementing a               corresponding agents.
simulation, which is described in section 4, and whose results              At any instant t there are I projects in the system, each one
are discussed in section 5. Finally, section 6 presents main            denoted by i. Each one is characterized by a value Vi, that can
conclusions of using this agent-based modeling and simulation           be interpreted as the revenue obtained for the project, a weight
approach.                                                               wi representing the strategic importance given to the specific
                                                                        project, a desirable delivery date Di, a limit delivery date Di*,
    II.    AGENT ORIENTED MODELING AND SIMULATION FOR                   which cannot be exceeded, an arrival date of the project to the
          REAL-TIME SCHEDULING OF MULTIPLE PROJECTS                     system, Bi , and a limit answer date Ri that represents the latest
    Multi-projects environments are complex and dynamic                 date to decide whether to accept or reject the project.
systems. They include many components and dependencies,                      Each project i consists of Ji activities, each one denoted by
and many changes may occur in the execution of projects.                ij, where i∈{1, 2,…, I} and j∈{1, 2,…, Ji}. Every activity j of a
Moreover, projects are inherently distributed; each task may be         project i is associated with a competence h(i,j). Any activity ij
completed by different resources or in different geographical           with a given competence h(i,j) can be performed by a resource
locations and each project manager may be in different places.          m just if m is endowed with the competence h(i,j). The duration
    MAS have been shown to deal with problems of                        of the activity ij depends on the resource assigned to perform it.
complexity, openness (components of the system are not known            The duration of activity ij in resource m is denoted as dijm. It is
in advance, can change over time, and are highly                        calculated according to dijm=dij/em,h(ij), where dij is the standard
heterogeneous, dynamic in project management terms), with               duration of activity j of project i and em,h(ij) is the efficiency of
dynamical and unknown environments changing over time                   resource m to perform the competence h(i,j).
(uncertainty) and ubiquity (the activity is distributed over the            This first simplified model assumes that the activities of
complete structure) [5] [12].                                           any project should be performed sequentially in the order
    In the particular case of multi-project systems, the agents         defined by j and only one resource can be assigned to an
can be abstracted as tasks, resources, project managers, etc.           activity. There is also the assumption that once some resource
This design enables to distribute the management system in              has begun a task, the activity cannot be interrupted; the
elemental components directly identifiable in the target system,        resource needs to finish it to be assigned to any other activity.
and hence giving the opportunity to create systems easier to
design, to adapt and to maintain. Moreover, since the system is
distributed according to its structure, any change in the
structure can be easily translated to the management system.
    This decentralized approach facilitates the design of market
mechanisms to solve the scheduling problem by means of
distributed approximations [2]. Recently, Lee, Kumara and
Chatterjee [7] have proposed an agent-based dynamic resource
scheduling for multiple distributed projects using market
mechanisms. Following the same research line, Confessore et
al. propose in [3] another iterative combinatorial auction
mechanism. Other examples of agent-based approaches in
project management can be found in the works of Kim and
colleagues [6], Wu and Kotak [13], and Cabac [1].

   III.    A MAS MODEL FOR MULTIPLE PROJECT SCHEDULING
    The system can be modeled with two types of agents
representing project and resource managers. Agents have the
ability to interact with each other. In this case, it is important to
define an auction protocol for project agents to compete for the
use of resources. Resource Manager Agents interact with                  Figure 1. MAS organization model (with INGENIAS notation [10]). The
project agents to inform on the status, capabilities and cost at         diagram shows an organization (Engineering Company), which has several
                                                                         departments (Projects Office and Production Unit). The Projects Office has
each specific time. A third type of agent is included in the            one Monitor Agent and several Project Manager Agents. The Production Unit
                                                                               has Resource Managers that take care of the use of Resources.
B. Resource Manager Agents                                                     project beyond Di*, it will be rejected. If not, but the
    A resource is modelled as a Resource Manager Agent.                        inclusion of the new project increases the delay costs
There are M resources, which can be assigned simultaneously                    of the other projects more than the direct benefit
to one activity. Each resource is endowed with a given cost rate               obtained for the project, it will also be rejected.
per unit of time, cm (m ∈{1, 2, 3…M}), and a subset Hm of
competences that can be performed (H={h1, h2, ... hK} is the set        A. Auction Interactions
of competences that are necessary to complete the projects).                At any time, the system has as many Project Manager
     Each resource has a certain grade or ability to perform a          Agents as projects are ordered. Each one represents a particular
competence. Therefore, the work capacity of resources can be            project characterized by its tasks, precedence relationships, due
symbolized by means of a vector of abilities per resource               date, value, local programs and their execution state. Their goal
em=(em1, em2,…,emk), where emf ≥ 0 shows the ability degree of          is to look for contracts with resources that can perform the
resource m to perform the competence hf. If emf = 0 then the            required activities and hence completing successfully the
resource m has not the competence hf, if 0          (local schedule).
1 it will do it efficiently.                                                The decision-making process is decentralized as it emerges
                                                                        from interactions among the agents in an auction process. Each
C. Monitoring Agent                                                     project manager creates its own schedule (local schedule) by
    A Monitoring Agent has the responsibility to visualize the          taking into account its own project goals and its own
current state of the system to the user. Moreover, this agent           knowledge. This procedure can bring incompatible local
allows the user to create new Project Manager Agentsm, as               schedules (several projects try to use the same resource at the
shown in Figure 1.                                                      same moment). Moreover, the local schedules can be globally
                                                                        inefficient (profitable projects are rejected; most important
                                                                        projects have delays; etc). These difficulties that arise from the
         IV.    AGENT WORKFLOWS AND INTERACTIONS
                                                                        autonomy of each agent are solved with a market mechanism
    The agent workflows and interactions must be designed in            that ensures that local schedules are nearly compatible and
order to maximize the global efficiency of the system, which            globally efficient according to the expression (1). This auction
will be evaluated by the average benefit obtained in a certain          based multi-project scheduling approach is founded on
time interval T according to:                                           Lagrangian Relaxation [8][11][14], a decomposition technique
                                                                        for mathematical programming problems.

                               ∑         (Vi − Cost (i ))                   In order to apply the market metaphor, the periods when
                           B                                     (1)    resources are available are subdivided in a set of small time
               Efficiency = T = i
                            T                 T                         intervals or time slots. Each time slot on each resource is
                                                                        modelled as a good that can be sold in an auction, where each
    for all projects i that are finished in T, Cost(i) is the cost to   resource acts as a seller. Thus, a local schedule will be a bundle
complete the project i. This cost has two components, the direct        of time slots that has been allocated to a project.
resource cost and the delay cost:                                           The number of sellers is equal to the number of resources in
                                                                        the system. Each resource proposes a price for the time slots
                                                                        from the current time to the end of the scheduling horizon. The
                                  d ij                                  scheduling horizon changes dynamically by coinciding with
         Cost (i ) = ∑ C m(j) ⋅          + wi ⋅ ( Di − Fi ) 2    (2)
                                                                        the latest time slot that some project has asked at any moment.
                        j         eijm
                                                                            Each project agent plays the role of a bidder that
    The first addend corresponds to the direct resource cost to         participates in auctions by asking the Resource Manager
finish each activity j. m( j) denotes the resource selected to          Agents for the set time slots that it requires to execute its
comply with activity j. The second addend is the delay cost             pending tasks at the current time. It will try to find a set of time
associated with the project, where Fi is the real delivery date.        slots (Zi) through the resource pool while incurring the
                                                                        minimum possible local cost (LCi). This cost has two
   The problem considers the decision to reject projects. This          components, the sum of the price of the selected time slots and
could happen in any of the following cases:                             the delay cost (expression 3):
   •   The revenue obtained from the project does not
       compensate the costs.
   •    The scheduling exceeds the Di* of the project.                              LCi = ∑ pmt + wi ⋅ ( Di − Fi ) 2                    (3)
                                                                                              mt∈Z i
   •   The impact on the scheduling of the rest of the projects
       is not acceptable. This may happen for two causes.                  where pmt is the price of the time slot (t) of the resource
       First, if the new project obliges to delay a committed           (m).
    To select the set of time slots (Zi) that minimizes their local       these agreements are obtained, project agents will never
cost, Project Manager Agents use a dynamical programming                  consider the tasks included as firm contracts as pending.
algorithm where all possible combinations of time slots and
resources are considered [13]. In their decision, they take into              The global efficiency and the compatibility of local
account that only those resources endowed with the necessary              schedules depend on the degree of convergence of market
competences can carry out a certain activity. Moreover, the               prices to the equilibrium prices. If the prices get closer to the
number of time slots necessary to complete a task (duration)              equilibrium price, they will be representative of the system
are determined according to the ability degree of the resource            state; they will have information about any system feature and
in the competence. Each project agent will regard as scheduling           local schedules will be compatible and globally efficient. If
horizon the time slot that goes from the current time to the limit        agents are making firm contracts when prices are not
delivery date (Di*). If some project agent cannot find a set of           representative of the system state, then incompatibilities could
time slots in such a manner that it allows to schedule tasks              take part. In these cases, the agents resolve incompatibilities by
before Di*, with a smaller cost than its value (Vi), then it will         means of local schedule based heuristics rules. More exactly,
not ask for any set of time slots. This implies that the project is       when several activities use the same resource at the same
unprofitable at the correspondent round of bidding and must be            moment, the activity that has been earliest programmed in local
                                                                          schedule will have priority to be contracted in firm agreements.
rejected.
                                                                          Although this heuristic does not ensure global efficiency, it will
    Each Resource Manager Agent determines the price                      achieve perfect compatibility in final decisions.
charged for the time slots with the purpose of reducing
resource conflicts and maximizing their revenue. In order to get                              V.     SIMULATION AND RESULTS
this goal a subgradient optimization algorithm is used to adjust
prices at each round of bidding. By means of this algorithm the               The system has been implemented and simulated with
Resource Manager Agents increase the price of the time slots              different scenarios. Here the analysis focuses on the role of
where there is conflict (more than one project manager has                resource capabilities and the option of project rejection. The
asked for this time slot) and reduce the price of the time slots          first scenario shows a simple case to illustrate the main features
that have not been demanded. The process of price adjustment              of the system, in the next subsection. This is followed by a
and bid calculation continues indefinitely. At each round of              dynamic scenario in order to evaluate the system performance
bidding the resource conflicts will be reduced.                           in evolving complex environments.

    At the first round of bidding, the time slots prices for the          A. Simple Case Study
resource (m) are equal to the resource cost rate (cm). At the rest
of bidding round, the prices will be updated by means of the                  Consider three different resources (R1, R2 and R3),
                                                                          endowed with the competences C1, C2 and C3 respectively.
expression 4. αn is calculated according to [8].
                                                                          TABLE I. shows a portfolio of five projects, and the tasks
                                                                          needed to complete each project. Each task is defined by means
             pmt
                     n +1
                                      {
                             = max cm , pmt + α n ⋅ g mt
                                            n         n
                                                           }      (4)
                                                                          of the pertaining competence and expected standard time to be
                                                                          completed.

Where:
                                                                                              TABLE I.          SIMPLE CASE STUDY
                 n +1
    •     p mt          is the price of the time slot (t) of resource
         (m) at the round (n+1)                                            Proj.           Tasks           Arrival   Starting   DD1   DD2   Value
                 n
    •     p mt is the price of the time slot (t) of resource (m)                   Task    Task    Task     date       Date
                                                                                    1       2       3
         at the round (n)                                                  P1      C1 50   C2 25   C3 30   0         0          120   180   10000
    •    α n is the step at the round (n). It decreases when (n)           P2      C3 40   C1 45   C3 10   0         0          180   240   12000
         increases.                                                        P3      C2 35   C1 40   C2 25   0         0          120   180   30000
    •    And ( g
                        n
                        mt   = a − 1 ) is the subgradient, where a
                                 n
                                 mt
                                                                     n
                                                                     mt
                                                                           P4      C3 30   C1 50   C2 10   50        90         150   270   15000
                                                                           P5      C1 45   C3 20   C1 50   50        90         150   270   30000
         is the demand of slot (t) of resource (m)

                                                                              The arrival date is the date when the project is included in
B. Contract Interactions                                                  the system. Projects can start-up in the starting date; otherwise,
    By means of the auction mechanism described above,                    they should have been rejected before this date. Due Date 1
project agents build compatible and globally efficient local              (DD1) is the most desirable duration whereas Due Date 2
schedules for their pending activities. Moreover, at the same             (DD2) is the maximum allowed. All the projects have a weight
time, agents interact through a complementary process to make             of 1.
firm agreements based on the local schedules that have been                   Figures 2 and 3 show the system state at a given time
created by means of the auction process. These agreements                 (current time). In the upper area of the figures the relative
determine fixed programs for earliest scheduled tasks. When               duality gap evolution is presented. The prices of time slots are
                                                                          the solution of the dual problem and the duality gap is a
measure of the difference between the primal and dual                            Note that project P5 has been rejected although it has a high
objective function, so it quantifies the quality of the solution             value, because its value was not available at time 0, when
[8]. The relative duality gap is calculated as the duality gap               projects P1, P2, P3 were waiting to start-up. The calculus of the
divided by the dual solution. A small relative duality gap                   payment that projects have done for time slots (TABLE II. )
means that the prices are representative of the system state,                shows that the same projects do a payment higher than their
thus, a good solution is achieved. The lower part of the figures             values. When projects P4 and P5 arrive at the system the prices
present charts of resources. These charts show the tasks that                of time slots of the resource R1 grow because P5 is able to pay
each resource has performed until the current time (lower area               higher prices to be performed. Although P5 accepts higher
of the resource charts) and the time slot prices (upper area of              prices than other projects, P1, P2 and P3 cannot be rejected and
the resource chart). The time slots prices previous to current               finally they must pay the market prices. The final total value
time are the prices when agents were doing firm agreements for               (BT=total values of performed projects minus total delay cost)
those time slots. The prices later than current time are the                 is 55700.
estimated prices in the current round of the auction.
   Figure 2. shows the system state at the moment 45, just                            TABLE II.       PAYMENT FOR TIME SLOTS PER PROJECT
before projects P4 and P5 arrive at the system. When the first                              Project       Value       Total payment
projects (P1, P2 and P3) are included in the system, the duality                           P1           10000        12719
gap is high, indication of a bad solution. But then, the price                             P2           12000        11414
formation mechanism makes the prices to stabilise, and the gap                             P3           30000        8298
becomes smaller. This means that prices are close to                                       P4           15000        6887
equilibrium.                                                                               P5           0            0


                                                                                 The simulation not only gives the dynamic schedule and the
                                                                             refused projects, but the value of each resource as well. For
                                                                             instance, in Figure 3. the prices of resource R1 are very high
                                                                             during all time slots. This means that the resource competence
                                                                             is very valuable (bottleneck), so if the firm is going to be
                                                                             engaged in similar projects in the nearby future, it would be
                                                                             useful to include more resources with the same competences.
                                                                             On the other hand, prices of resources R2 and R3 are small,
                                                                             although they are working on different tasks during the
                                                                             simulation.
                                                                                 So, the possibility of enhancing the range of capabilities of
                Figure 2. System state at the moment 45
                                                                             resources R2 and R3 should be considered; for instance, in the
                                                                             case of human resources, this can be done by means of
    Figure 3. shows the evolution of the tasks performed by                  training.
each resource and the prices of the time slots after finishing the
simulation. This figure shows how the duality gap increases
when the projects P4 and P5 arrive to the system. At this
moment previous prices did not reflect the new system state
(new projects are in the system). After some time, the prices
change to adapt themselves to the new system conditions, and
the gap decreases again. It can be observed that the new prices
are very different from previous prices. This happens especially
in resource R1 where prices are very high.


                                                                                Figure 4. Tasks performed by resources (competences of resource R2
                                                                                                           increased).

                                                                                 Figure 4. shows the evolution of the system when the
                                                                             resource R2 is also endowed with the competence C1 with
                                                                             efficiency 0.8. Compared with the previous case, now the price
                                                                             range is lower for resource R1 and higher for R2. Although the
                                                                             duration of task T22 of project P2 is smaller in resource R1
                                                                             than in R2, now the system have to reallocate in real-time this
                                                                             activity to R2. So, R1 can perform in time the task T51 of the
                                                                             project P5. In this experiment, the project P5 is accepted and
 Figure 3. Tasks performed by resources. Tij denotes Task j of project Pi.   executed, and the total value has been increased from 55700 to
69369. This shows that the system is capable to use the
flexibility of resource R2 to improve in real-time the global
performance.


B. Complex Dynamic Scenario
    In order to check the system performance in very dynamic
environments, consider 12 projects (table 3) that arrive at the
system every 20 units of time (first P1, second P2, …, and
finally P12). In TABLE III. DD1 and DD2 are relating to
starting date. Resources and competences are similar to the
previous case study.

                                                                                  Figure 5. Total value in complex experiments
 TABLE III.        DYNAMIC PORTFOLIO OF PROJECTS (COMPLEX SCENARIO)

 Proj.                Tasks               DD1     DD2      Value
          Task 1      Task 2    Task 3                                                      VI.    CONCLUSIONS
P1       C1 50       C2 25     C3 30     60      150    10000            Although project management literature has been mainly
P2       C3 40       C1 45     C3 10     60      120    15000         concerned with managing individual projects, in practice firms
P3       C2 35       C1 40     C2 25     60      120    6000          usually work in dynamic and complex multi-project
P4       C3 30       C1 50     C2 10     90      120    7000          environments.
P5       C1 45       C3 20     C1 50     60      120    8000             We propose a multi-agent system and an auction
P6       C3 10       C2 45     C1 20     120     150    7000          mechanism for online dynamic scheduling in multi-project
P7       C1 20       C2 10     C3 30     60      150    15000         environments. Projects have tasks to be completed, so they
P8       C3 40       C1 45     C3 50     90      120    10000         compete for the resources endowed with the capabilities
P9       C2 35       C1 10     C2 45     60      120    15000         required to do some pieces of work. The prices of resources
P10      C3 30       C1 15     C2 10     60      120    10000         emerge endogenously by means of an auction process.
P11      C1 15       C3 50     C1 10     90      150    7000              We show some of the possibilities of this multi-agent
P12      C3 35       C2 50     C1 20     60      120    12000         approach to deal with some of the decisions that managers need
                                                                      to take within multi-project environments. The system allocates
                                                                      dynamically resources to projects, and decides what projects to
    We have done several simulations by changing two types of         accept or reject taking into account project value, profitability
parameters: the response period and the set of competences of         and (feedback) operational information. We also show how it is
resources. The response period is the time interval between the       possible to discover which resources are the most valuable, so
arrival date and the starting date. During this period, projects      they should be added to the firm.
wait in the system for rejection or acceptance decision. If this
period is long, more projects are waiting for decision                     This approach contributes to fill the gap between the
simultaneously, so decisions will be more efficient.                  literature in portfolio project management (usually focused on
                                                                      corporate strategy and finance) with the work in multi-project
   We have simulated three competence distribution cases:             management (mainly concerned with operational issues,
case A (R1 has the competence C1, R2 the C2, R3 the C3),              scheduling and resource allocation).
case B (R1 C1, R2 C1 and C2, R3 C3), and case C (R1 C1, R2
C1 and C2, R3 C2 and C3).
    Figure 5. shows the total values obtained in different                                 ACKNOWLEDGMENTS
experiments. Each curve represents the value variation for
cases (A, B and C) when the response period increases. Note              This work has been done in the context of the following
that the system efficiency is higher when the response period         projects: (1) “Agent-based Modelling and Simulation of
increases and when the resources are more flexible (they have         Complex Social Systems (SiCoSSys)”, supported by Spanish
more competences). This shows that in this scenario the system        Council for Science and Innovation, with grants TIN2008-
performance is suitable; the software is able to manage               06464-C03-01 and TIN2008-06464-C03-02; (2) “ABACO
complexity to improve the global efficiency.                          VA006A09”, (3) the Programa de Creación y Consolidación de
                                                                      Grupos de Investigación UCM-BSCH GR58-08, and (4)
                                                                      GR251/09 supported by the “Junta de Castilla y Leon”.
                              REFERENCES                                            Discrete Event System Theory and Applications in Manufacturing and
                                                                                    Social Phenomena, Shenyang, China, 1991.
[1]   Cabac, L. “Multi-agent system: A guiding metaphor for the organization
      of software development projects”. In: Carbonell, J.G. & Siekman, J.,    [9] Newman K, Schwindt C., Zemmermann J. Book review of Project
      Multiagent System Technologies. Lecture Notes in Artificial                   Scheduling with Time Windows and Scarce Resources: Temporal and
      Intelligence 4687. Springer: Berlin / Heidelberg, pp 1-12, 2007               Resource-Constrained Project Scheduling with Regular and Non-regular
                                                                                    Objective Functions. 2nd Edition, Springer-Verlag, 2003
[2]   Clearwater, S. “Market-Based Control: A Paradigm for Distributed
      Resource Allocation”. World Scientific, 1996.                            [10] Pavón, J., Gómez-Sanz, J.:“Agent Oriented Software Engineering with
                                                                                    INGENIAS”. In: Marik, V., Müller, J., Pechoucek, M. (eds). Multi-
[3]   Confessore, G., Giordani, S. & Rismondo, S. “A market-based multi-            Agent Systems and Applications III, 3rd International Central and
      agent system model for decentralized multi-project scheduling”. Annals        Eastern European Conference on Multi-Agent Systems, CEEMAS 2003.
      of Operations Research, 150, pp 115-135, 2007                                 Lecture Notes in Artificial Intelligence 2691. Springer-Verlag, Berlin
[4]   Hans EW, Herroelen W, Leus R and Wullink G. “A hierarchical                   Heidelberg, pp 394-403, 2003.
      approach to multi-project planning under uncertainty”. Omega 35, pp      [11] Wang, J., Luh, P.B., Zhao, X. and Jinlin Wang. “An Optimization-Based
      :563-577, 2007.                                                               Algorithm for Job Shop Scheduling”. Sadhana, a Journal of Indian
[5]   Jennings, N.R. & Wooldridge, M.J. Applying agent technology. Applied          Academy of Sciences, Vol. 22, Part 2, pp. 241-256, 1997
      Artificial Intelligence, 9, pp 357-369, 1995.                            [12] Wooldridge, M.J. An Introduction to Multiagent Systems. John Wiley &
[6]   Kim, K. & Paulson, J. “Multi-agent distributed coordination of project        Sons Ltd: New York, 2002.
      schedule changes”. Computer-Aided Civil and Infrastructure               [13] Wu, S. & Kotak, D. “Agent-based collaborative project management
      Engineering, 18, pp 412-425, 2003.                                            system for distributed manufacturing”. Proceedings of the IEEE
[7]   Lee, Y.H., Kumara, S.R.T. & Chatterjee, K. “Multiagent based dynamic          International Conference on Systems, Man and Cybernetics, pp 1223-
      resource scheduling for distributed multiple projects using a market          1228, 2003
      mechanism”. Journal of Intelligent Manufacturing, 14, pp 471-484, 2003   [14] Zhao, P. B. Luh, J Wang. “Surrogate Gradient Algorithm for Lagrangian
[8]   Luh, P.B. & D. J. Hoitomt. “Scheduling of Manufacturing Systems               Relaxation”. Journal of Optimization Theory and Applications, Vol.
      Using the Lagrangian Relaxation Technique”. IFAC Work Shop on                 100, Nº 3, pp 699-712, 1999