a constraint programming approach for scheduling in a multi-project …€¦ ·  ·...

16
International Journal of Advanced Computer Science and Information Technology (IJACSIT) Vol. 3, No. 2, 2014, Page: 156-171, ISSN: 2296-1739 © Helvetic Editions LTD, Switzerland www.elvedit.com A Constraint Programming Approach for Scheduling in a Multi-Project Environment Authors Marcin Relich Faculty of Economics and Management/Department of Controlling and Computer Applications in Economics/University of Zielona Gora [email protected] Zielona Gora, 65-216, Poland Abstract The paper investigates the use of constraint programming techniques for planning and scheduling in the context of a multi-project environment. Duration and cost of a project activity is specified in the form of discrete α-cuts that enable the connection of distinct and imprecise data, and the implementation of a constraints satisfaction problem with the use of constraint programming. Moreover, the paper presents the impact of a number of α-cuts on project planning and scheduling. A comparison of various variants of project completion takes into account criteria such as time and cost of project and strategy for variable distribution. A declarative form of the description of the decision problem allows its implementation in constraint programming languages and facilitates the development of a decision support system. Optimistic, pessimistic, and several intermediate variants of project scheduling can significantly enhance project managers’ comprehension of time and cost variability and uncertainty. Key Words constraint satisfaction problem, decision support system, fuzzy project scheduling, project portfolio, project variants I. INTRODUCTION Project management is a complex decision making process involving the rigid project deadline and budget. The traditional approach to project management is to consider corporate projects as being independent of each other. However, in a multi-project environment the vast majority of projects share resources with other projects and thus the major issue is to find a way of handling

Upload: dinhdat

Post on 07-Apr-2018

218 views

Category:

Documents


4 download

TRANSCRIPT

International Journal of Advanced Computer Science and Information Technology (IJACSIT) Vol. 3, No. 2, 2014, Page: 156-171, ISSN: 2296-1739 © Helvetic Editions LTD, Switzerland www.elvedit.com

A Constraint Programming Approach for Scheduling in a Multi-Project Environment

Authors

Marcin Relich Faculty of Economics and Management/Department of Controlling and Computer Applications in Economics/University of Zielona Gora

[email protected] Zielona Gora, 65-216, Poland

Abstract

The paper investigates the use of constraint programming techniques for planning and scheduling in the context of a multi-project environment. Duration and cost of a project activity is specified in the form of discrete α-cuts that enable the connection of distinct and imprecise data, and the implementation of a constraints satisfaction problem with the use of constraint programming. Moreover, the paper presents the impact of a number of α-cuts on project planning and scheduling. A comparison of various variants of project completion takes into account criteria such as time and cost of project and strategy for variable distribution. A declarative form of the description of the decision problem allows its implementation in constraint programming languages and facilitates the development of a decision support system. Optimistic, pessimistic, and several intermediate variants of project scheduling can significantly enhance project managers’ comprehension of time and cost variability and uncertainty. Key Words

constraint satisfaction problem, decision support system, fuzzy project scheduling, project portfolio, project variants

I. INTRODUCTION Project management is a complex decision making process involving the rigid project deadline

and budget. The traditional approach to project management is to consider corporate projects as being independent of each other. However, in a multi-project environment the vast majority of projects share resources with other projects and thus the major issue is to find a way of handling

A Constraint Programming Approach for Scheduling in a Multi-Project Environment Marcin Relich

Copyright © 2014 Helvetic Editions LTD - All Rights Reserved www.elvedit.com 157

resource scarcity according to the overall strategic direction of the corporation [1]. Sources of uncertainty are wide ranging and have a fundamental effect on projects and project management [2-3]. Companies have to deal with uncertainty in project expected performance in the aspect of their internal and external environments. The external environment concerns the economical, political, technological, social, and ecological issues. In turn, the internal environment includes the project risk factors such as schedule, cost, design, and organisational structure [4].

Uncertainty can be defined in several ways. Essentially, it is lack of information, which may or may not be obtainable [5]. Uncertainty is also linked with risk based on the distinction between aleatory and epistemic uncertainty in the following couplet: uncertainty is immeasurable risk; risk is measurable uncertainty [6-7]. The term risk has different meaning to different people according to their viewpoint, attitudes and experiences. Engineers, designers and contractors view risk from the technological perspective, whereas lenders and developers tend to view it from the economic and financial side [8]. According to Project Management Body of Knowledge, project risk is defined as an uncertain event or condition that, if it occurs, has a positive or a negative effect on a project objective [9].

The CPM (Critical Path Method) and PERT (Program Evaluation and Review Technique) has been widely used for project scheduling, helping managers to guarantee the in time and on budget completion of the project [10]. The hypothesis made in CPM that activity durations are deterministic and known is rarely satisfied in real life where tasks are often uncertain and variable [11-12]. The inherent uncertainty and imprecision in project scheduling has motivated the proposal of several fuzzy set theory based extensions of activity network scheduling techniques. Among these extensions can be found, for instance, resource-constrained fuzzy project-scheduling problem [13], criticality analysis of activity networks with uncertainty in task duration [14], fuzzy repetitive scheduling method [15], fuzzy dependency structure matrix for project scheduling [16], non-delay scheduling [17], potential quality loss cost [18], fuzzy critical chain method for project scheduling under resource constraints and uncertainty [19]. Considerable research effort has been recently focused also on the application of constraint programming frameworks in the context of project scheduling [20-22]. Constraint programming (CP) is qualitatively different from the other programming paradigms, in terms of declarative, object-oriented and concurrent programming. Declarative programming languages base on the idea that programs should be as close as possible to the problem specification and domain [23].

The paper aims at using constraint programming to fuzzy project scheduling and cost evaluation in multi-project environment whose durations and costs are in the imprecise form. The model of project portfolio planning is specified in terms of fuzzy constraints satisfaction problem (CSP), using constraint programming to seek a solution to the problem, and enabling cost analysis at different α-cuts. An α-cut is a crisp set consisting of elements of fuzzy set A which belong to the fuzzy set at least to a degree of α. The proposed methodology is relatively similar to what practitioners are using to generate project cost and cash flows but is considerably more

International Journal of Advanced Computer Science and Information Technology Volume 3, Issue 2, 2014, ISSN: 2296-1739

Copyright © 2014 Helvetic Editions LTD - All Rights Reserved

www.elvedit.com 158

effective and realistic in modelling uncertainty. The proposed decision support system for project portfolio planning allows a decision-maker to obtain a set of project variants and to perform analysis of cost uncertainty at different α-levels.

The remaining sections of this paper are organised as follows: Section 2 presents a problem formulation in terms of fuzzy CSP for project portfolio scheduling, a method of fuzzy project scheduling is shown in Section 3, an illustrative example of the proposed methodology is presented in Section 4, in turn, some concluding remarks are contained in Section 5.

II. PROBLEM FORMULATION The constraint programming environment seems to be particularly well suited to modelling

real-life and day-to-day decision-making processes at an enterprise, including project planning and scheduling. Constraint programming is qualitatively different from the other programming paradigms, in terms of declarative, object-oriented and concurrent programming. Compared to these paradigms, constraint programming is much closer to the ideal of declarative programming: to state what we want without stating how to achieve it [24]. CP is an emergent software technology for a declarative constraints satisfaction problem description and can be considered as a pertinent framework for the development of decision support system software.

Declarative programming languages base on the idea that programs should be as close as possible to the problem specification and domain [23]. In the field of constraint-based scheduling, two strengths emerge: natural and flexible modeling of scheduling problems as CSP and powerful propagation of temporal and resource constraints. Thus, the scheduling problem is modelled as CSP at hand in the required real-life detail and it enables to avoid the classical drawbacks of being forced to discard degrees of freedom and side constraints. Discarding degrees of freedom may result in the elimination of interesting solutions, regardless of the solution method used. Discarding side constraints gives a simplified problem and solving this simplified problem may result in impractical solutions for the original problem [25]. The limitations of imperative languages provide the motivation to develop a reference model of project management in an enterprise and to implement it in declarative languages. The advantage of working with such a model is that users are driven by the system to produce the required results, whilst the manner in which the results are produced is dependent on the preferences of the users [26].

The model formulated in terms of CSP determines a single knowledge base and it enables effective implementation in constraint programming languages, as well as the development of a task-oriented decision support system (DSS) for project portfolio planning. As a result, the problem specification is closer to the original problem, obtaining solutions that are unavailable with imperative programming. The specification of project portfolio scheduling encompasses technical parameters, expert’s experiences and user expectations in the form of a knowledge base, i.e. as a set of variables, their domains, and a set of relations (constraints) that restrict and link variables. In this context, it seems natural to classify some decision problems as CSP. The problem formulation in terms of CSP enables a simplified description of actuality, i.e. a

A Constraint Programming Approach for Scheduling in a Multi-Project Environment Marcin Relich

Copyright © 2014 Helvetic Editions LTD - All Rights Reserved www.elvedit.com 159

description encompasses the assumptions of object, implementing therein tasks, and a set of routine queries – the instances of decision problems [27-30].

In a classical form, the structure of the constraints satisfaction problem may be described as follows [20], [28]: CSP = ((V, D), C), where: V – a set of variables, D – a set of discrete domains of variables, C – a set of constraints. In turn, for the imprecise description of variables, the Fuzzy Constraints Satisfaction Problem (FCSP) takes the following form:

)),,~(( CDVFCSP (1)

where: nvvvV ~,...,~,~~21 – a finite set of n fuzzy variables that are described in the form of fuzzy

number (a finite set of discrete α-cuts); D = {d1, d2, ..., dn} – a set of domains for n fuzzy variables; C = {c1, c2, ..., cm} – a finite set of m constraints limiting and linking decision variables.

Given a set of projects P = {P1, P2, …, PI}, where the project Pi consists of J activities: Pi = {Ai,1, ..., Ai,j, ..., AI,J}. The j-th activity of i-th project that is specified as follows: Ai,j = {si,j, zi,j, ti,j, dpi,j}, where:

si,j – the starting time of the activity Ai,j, i.e., the time counted from the beginning of the time horizon H;

zi,j – the completion time of the activity Ai,j;

ti,j – the duration of the activity Ai,j, si,j < zi,j;

dpi,j – the financial means allocated to the activity Ai,j.

The project Pi is described as an activity-on-node network, where nodes represent the activities and the arcs determine the precedence constraints between activities. According to this, the precedence constraints are as follows:

for the k-th activity which follows the j-th one: si,j + ti,j ≤ si,k;

for the k-th activity which follows other activities: si,j + ti,j ≤ si,k, si,j+1 + ti,j+1 ≤ si,k, ..., si,j+n + ti,j+n ≤ si,k;

for the k-th activity which is followed by other activities: si,k + ti,k ≤ si,j, si,k + ti,k ≤ si,j+1, ..., si,k + ti,k ≤ si,j+n.

CSP can be considered as a knowledge base that is a platform for query formulation as well as for obtaining answers, and it comprises of facts and rules that are characteristic of the system’s properties and the relations between its different parts [4]. As a consequence, a knowledge base

International Journal of Advanced Computer Science and Information Technology Volume 3, Issue 2, 2014, ISSN: 2296-1739

Copyright © 2014 Helvetic Editions LTD - All Rights Reserved

www.elvedit.com 160

facilitates the implementation of a decision support system [31-32]. The distinction of decision variables that are embedded in the knowledge base as an input-output variable permits to formulate the standard routine queries concerning project cost analysis such as: is there a schedule at given α-cut, project deadline, budget, precedence constraints, etc? The method of generation of admissible solutions for the above-described problem is presented in the next section.

III. METHOD OF FUZZY PROJECT SCHEDULING WITH THE USE OF Α-CUTS The perception or estimation of uncertainty is encoded in the initial assignment of fuzzy

activity duration and cost [33]. Several researchers have applied different approaches to fuzzy set theory or probability theory in project flow generation and analysis (e.g. [34-36]). In terms of project management, different α-cuts can be considered as separate risk levels [37]. The risk levels can vary from “none”, “low”, “moderate”, “high” to “very high” as the α-cut moves from 1 towards 0. The difference between the proposed approach and PERT network diagrams concerns the number of variants and the use of integer numbers. PERT assumes only the absolute worst and best scenarios (everything goes worse or better than expected, respectively), whereas the proposed approach includes some possibility levels from 0 to 1 [33].

Imprecise variables determined by convex membership function μ(t) (e.g. a triangular fuzzy number t = <a, b, c>) can be specified as α-cuts. An α-cut is a crisp set consisting of elements belong to the fuzzy set at least to a degree of α (0 < α ≤ 1). An α-cut is a method of defuzzifying a fuzzy set to a crisp set at desired α-levels that correspond to the perceived risk (α = 1 meaning no risk, α = 0– meaning the lowest risk, α = 0+ meaning the highest risk). Additionally, the low (α = 0–) and high (α = 0+) values of every α-cut represent the optimistic and pessimistic outcomes of that risk level. The main objective of fuzzy project scheduling is to apply fuzzy set theory concepts to the scheduling of real world projects where task duration can be specified as fuzzy numbers instead of crisp numbers [27].

The fuzzy project scheduling algorithm requires the specific assumptions. The fuzzy form of the start and completion times can lead to difficulties with the interpretation, if the fuzzy starting time of the activity is greater than the fuzzy completion time. In the order to avoid this situation, it is assumed that the starting time of the activity is in a distinct form, whereas the completion time of the activity can be specified as a fuzzy number. The fuzzy completion time is the sum of the activity start with the fuzzy activity duration (see Figure 1). It is noteworthy that using the presented methodology, the intersection of starting and completion time is impossible and the interpretation is unambiguous.

A Constraint Programming Approach for Scheduling in a Multi-Project Environment Marcin Relich

Copyright © 2014 Helvetic Editions LTD - All Rights Reserved www.elvedit.com 161

FIGURE 1: ADDITION OF FUZZY NUMBERS IN TERMS OF DISCRETIZED Α-CUTS

The duration of activity varies for different number of α-cuts, and determining optimistic,

pessimistic and several intermediate variants. In the best case (mint0), the activity starts as early as possible and lasts the minimum duration. In the worst case (maxt0), the activity starts as late as possible and lasts the maximum duration. An example of the duration of an activity three α-levels (mint0, t1, maxt0) is presented in Figure 2.

FIGURE 2: START AND FUZZY COMPLETION TIME OF ACTIVITY Figure 2 shows an activity with starting time of <10, 10, 10>, duration of <5, 6, 7>, and

completion time of <15, 16, 17>. In this example, the duration intervals at α = 0 are mint0 = [10, 15] and maxt0 = [10, 17] and the activity cost is distributed in these intervals. In the optimistic variant, the activity begins as early as possible (10th time unit) and lasts the minimum duration (5 time units), whereas in the pessimistic variant, it lasts the maximum duration (7 time units).

The uncertainties of the duration and cost of an activity are positively correlated, so the minimum (mint0) and maximum (maxt0) cost distribution per unit of time of the j-th activity at the level α depict the best and the worst variant, respectively. A number of variants depend on a number of α-cuts and the shape of a fuzzy number. For instance, if a fuzzy number is triangular and described at 3 α-cuts, then there can be 3 variants (mint0, t1, maxt0) or 5 variants (mint0, mint0.5, t1, maxt0.5, maxt0) of project schedule description. This case is presented on the left and right side of Figure 3, respectively.

International Journal of Advanced Computer Science and Information Technology Volume 3, Issue 2, 2014, ISSN: 2296-1739

Copyright © 2014 Helvetic Editions LTD - All Rights Reserved

www.elvedit.com 162

FIGURE 3: SHAPE OF FUZZY NUMBER FOR 3 AND 5 VARIANTS An example of the use of the presented methodology in constraint programming environment is

presented in the next section.

IV. ILLUSTRATIVE EXAMPLE The example consists of the following parts: the description of the project portfolio, the analysis

of the first admissible solution of the fuzzy scheduling problem for the different variants, the analysis of cumulative cost for these variants, and the impact of strategy of variable distribution on searching the first admissible solution. It is assumed that the time horizon for the project portfolio (P = {P1, P2}) equals 26 months and the budget of the project portfolio is fixed at 300 m.u. The network diagrams of the activities in the project portfolio are shown in Figure 4 and 5.

FIGURE 4: NETWORK DIAGRAM FOR PROJECT P1

FIGURE 5: NETWORK DIAGRAM FOR PROJECT P2

The duration of some activities (A1,7, A1,9, A1,10, A1,11, A1,12, A2,6, A2,7, A2,8, A2,10, A2,11) is specified

in the imprecise form. The sequences of activity duration for the considered projects can be described as follows: T1 = (3, 3, 2, 1, 2, 3, “about 6”, 2, “about 3”, “about 4”, “about 3”, “about 6”), T2 = (4, 3, 4, 3, 2, “about 3”, “about 4”, “about 3”, 2, “about 4”, “about 5”). For instance, the

A Constraint Programming Approach for Scheduling in a Multi-Project Environment Marcin Relich

Copyright © 2014 Helvetic Editions LTD - All Rights Reserved www.elvedit.com 163

duration of the activity A1,7 is “about 6”, i.e. the activity can be executed within the time period of 5 to 7 units of time.

Fuzzy project scheduling and cost generation problem can be reduced to the following questions: is there a portfolio schedule (and if yes, what are its parameters) that follows from the given project constraints specified by the duration of activities, the deadline and budget of project portfolio? The answer to the question is connected with the determination of the starting (si,j,α) and completion (zi,j,α) time of project portfolio activities and the allocation of financial means to the activities by different α-level dpi,j,α. The example includes three cases of project scheduling, for optimistic variant (mint0), intermediate variant (t1) and pessimistic variant (maxt0). For the considered project portfolio, the following sequences are sought: S1,α = (s1,1,α, …, s1,12,α), S2,α = (s2,1,α, …, s2,11,α), Z1,α = (z1,1,α, …, z1,12,α), Z2,α = (z2,1,α, …, z2,11,α), Dp1,α = (dp1,1,1, …, dp1,12,α), Dp2,α = (dp2,1,1, …, dp2,11,α), where α equals 0–, 1, 0+.

Figure 6 presents the first admissible solution (project portfolio schedule) for the optimistic variant (α = 0–). The sequences of activity starting and completion time are as follows: S1,0- = (0, 3, 3, 6, 5, 6, 7, 7, 5, 12, 9, 15), S2,0- = (0, 4, 4, 4, 7, 7, 8, 7, 9, 11, 14), Z1,0- = (3, 6, 5, 7, 7, 9, “about 13”, 9, “about 8”, “about 16”, “about 12”, “about 21”), Z2,0- = (4, 7, 8, 7, 9, “about 10”, “about 12”, “about 10”, 11, “about 15”, “about 19”).

FIGURE 6: PROJECT PORTFOLIO SCHEDULE FOR OPTIMISTIC VARIANT

International Journal of Advanced Computer Science and Information Technology Volume 3, Issue 2, 2014, ISSN: 2296-1739

Copyright © 2014 Helvetic Editions LTD - All Rights Reserved

www.elvedit.com 164

The project portfolio schedule for intermediate variant (α = 1) is illustrated in Figure 7. This variant is equivalent to that generated from deterministic analysis. There are the following sequences of activity starting and completion time: S1,1 = (0, 3, 3, 6, 5, 6, 7, 7, 5, 13, 9, 17), S2,1 = (0, 4, 4, 4, 7, 7, 8, 7, 9, 12, 16), Z1,1 = (3, 6, 5, 7, 7, 9, “about 13”, 9, “about 8”, “about 17”, “about 12”, “about 23”), Z2,1 = (4, 7, 8, 7, 9, “about 10”, “about 12”, “about 10”, 11, “about 16”, “about 21”).

FIGURE 7: PROJECT PORTFOLIO SCHEDULE FOR INTERMEDIATE VARIANT The project portfolio schedule for pessimistic variant (α = 0+) is shown in Figure 8. The

sequences of activity starting and completion time are as follows: S1,0+ = (0, 3, 3, 6, 5, 6, 7, 7, 5, 14, 9, 19), S2,0+ = (0, 4, 4, 4, 7, 7, 8, 7, 9, 13, 18), Z1,0+ = (3, 6, 5, 7, 7, 9, “about 13”, 9, “about 8”, “about 18”, “about 12”, “about 25”), Z2,0+ = (4, 7, 8, 7, 9, “about 10”, “about 12”, “about 10”, 11, “about 17”, “about 23”).

A Constraint Programming Approach for Scheduling in a Multi-Project Environment Marcin Relich

Copyright © 2014 Helvetic Editions LTD - All Rights Reserved www.elvedit.com 165

FIGURE 8: PROJECT PORTFOLIO SCHEDULE FOR PESSIMISTIC VARIANT The time of project completion for the different variants depends on a number of activities that

are specified in imprecise form and the shape of a fuzzy number (see Figure 6-8). The greater base of a fuzzy number implicates more variants and the longer time of project completion (see Figure 3).

Figure 9 presents three different cost variants for project portfolio (cumulative cost for project P1 and P2). At α = 1, the cash flow (dotted line) is equivalent to that generated from deterministic analysis. At α = 0, there is an optimistic variant below and a pessimistic one above (solid line). In the optimistic variant (mint0), the project portfolio will be completed in 20 months with the total cost of 195 m.u., whereas in the pessimistic variant (maxt0) in 26 months with the total cost of 255 m.u.

International Journal of Advanced Computer Science and Information Technology Volume 3, Issue 2, 2014, ISSN: 2296-1739

Copyright © 2014 Helvetic Editions LTD - All Rights Reserved

www.elvedit.com 166

FIGURE 9: CUMULATIVE COST FOR PROJECT PORTFOLIO The presented S-curves are the basis for analyzing cost variants in project portfolio. In order to

develop this analysis, S-curves can be widespread for other α-levels (e.g. 0, 0.1, 0.2, …, 1) and plotted an S-surface. Figure 10 shows the project S-surfaces for the optimistic and pessimistic variant. The selection of specific possibility levels and time intervals determines the size of the rectangular patches that form the S-surface and consequently the overall plot quality.

FIGURE 10: S-SURFACES FOR OPTIMISTIC AND PESSIMISTIC VARIANT OF PROJECT COST

Compared with conventional 2 dimensional S-curves, the S-surface shows how both uncertainty

levels and time affect the project cost. Thus, the surface steepness in terms of possibility and time provides additional insight about the project cost. At α = 1, the optimistic and pessimistic S-surface intersect each other.

The presented in Figure 6-8 project portfolio schedules concern the first admissible solution.

A Constraint Programming Approach for Scheduling in a Multi-Project Environment Marcin Relich

Copyright © 2014 Helvetic Editions LTD - All Rights Reserved www.elvedit.com 167

The sought solutions can be evaluated according to criteria such as strategy of variable distribution, number of nodes, depth of the search tree. Table 1 presents the results for three strategies of variable distribution: First-fail, Naïve, and Split. The example was implemented in the Oz Mozart programming environment and tested on an AMD Turion(tm) II Ultra Dual-Core M600 2.40GHz, RAM 2 GB platform. The results show that the First-fail and Split distribution strategy significantly outperforms the Naïve ones.

TABLE 1: COMPARISON OF STRATEGIES FOR VARIABLE DISTRIBUTION Distribution

strategy Number of

choice nodes

Number of failed nodes

Depth Time [sec]

First-fail 822 807 27 0.312 Naïve 20,226 20,211 31 8.20 Split 840 807 37 0.281

The presented approach allows the decision-maker to consider a wide range of further analyses.

For instance, a risk level for cost variant can be treated as an additional criterion for reducing a set of admissible project alternatives in the feasibility study. Moreover, the obtained schedules and cost variants provide a plan for project portfolio execution and are a basis for further adjustment aimed at fitting to real live execution.

V. CONCLUSIONS Most projects are executed in the presence of uncertainty and are difficult to manage, especially

in a multi-project environment. Concurrent projects are often interrelated due to interdependencies between inputs and outputs and sharing of specialized resources [38]. Hence, a pure deterministic approach for evaluating project time and cost is inadequate. The proposed approach takes into account several elements, such as the distinct and imprecise duration of project activities, cost distribution analysis, including S-curves and S-surfaces. Data specification in the form of α-cuts enables the generation of a set of project variants (schedules) that can significantly enhance project managers’ comprehension of time and cost variability and uncertainty. Moreover, the use of discrete α-cuts facilitates the combination of distinct and imprecise data, and implementation of a constraints satisfaction problem in the constraint programming environment that solves CSP with a significant reduction of the amount of search space. As a result, a task-oriented decision support system has been effectively developed [39]-[40]. This system can support a decision-maker in obtaining project portfolio scheduling and fuzzy project cost generation.

The limitations of existing commercially available tools (e.g. lack of possibility for data specification in an imprecise form, lack of abilities to solve problems defined in multi-project environments) was the motivation to develop a design methodology for a task-oriented decision support system that bases on the constraint programming techniques. The proposed methodology can provide a better perception of risk which is usually obscured in the conventional approach. The number of α-levels can be modified according to the decision-maker’s requirements and can

International Journal of Advanced Computer Science and Information Technology Volume 3, Issue 2, 2014, ISSN: 2296-1739

Copyright © 2014 Helvetic Editions LTD - All Rights Reserved

www.elvedit.com 168

assist project managers to gain deeper insight into the sources and extents of uncertainty, which may in turn lead to the avoidance of troubles during project implementation. In addition, the presented methodology concerns the assessment of financial requirements during project implementation and it can be useful in evaluating alternative variants of project portfolio during the feasibility stage. Moreover, it tends to achieve a balance between complexity of methodology and an intuitive, effective decision support system that is realistic in modeling uncertainty. Finally, its application in performing earned value analysis during project monitoring can also obtain useful results [33]. The subject of future research can focus on developing the proposed approach in the aspect of system thinking and multiculturality in project management, for instance, according to the results presented in [41-45].

REFERENCES [1] Laslo, Z. (2010). Project portfolio management: An integrated method for resource planning and

scheduling to minimize planning/scheduling-dependent expenses. International Journal of Project Management, 28, 609-618.

[2] Atkinson, R., Crawford, L., Ward, S. (2006). Fundamental uncertainties in projects and the scope of project management. International Journal of Project Management, 24, 687-698.

[3] Relich, M. (2012). An evaluation of project completion with application of fuzzy set theory. Management, 16(1), 216-229.

[4] Relich, M., Banaszak, Z. (2011). Reference model of project prototyping problem. Foundations of Management, 3(1), 33-46.

[5] Rowe, W. D. (1994). Understanding uncertainty. Risk Analysis, 14, 743-750.

[6] Hillson, D. (2004). Effective opportunity management for projects – exploiting positive risk. New York: Marcel Dekker.

[7] Olsson, R. (2007). In search of opportunity management: is the risk management process enough? International Journal of Project Management, 25, 745-752.

[8] Baloi, D. & Price, A. D. F. (2003). Modelling global risk factors affecting construction cost performance. International Journal of Project Management, 21, 261-269.

[9] Project Management Institute (2000). A guide to the project management book of knowledge (PMBOK). Newtown Square.

[10] Kastor, A. & Sirakoulis, K. (2009). The effectiveness of resource levelling tools for Resource Constraint Project Scheduling Problem. International Journal of Project Management, 27, 493-500.

[11] Zammori, F. A., Braglia, M., Frosolini, M. (2009). A fuzzy multi-criteria approach for critical path definition. International Journal of Project Management, 27, 278-291.

[12] Carr, V. & Tah, J. H. M. (2001). A fuzzy approach to construction project risk assessment and analysis: construction project risk management system. Advances in Engineering Software, 32, 847-857.

A Constraint Programming Approach for Scheduling in a Multi-Project Environment Marcin Relich

Copyright © 2014 Helvetic Editions LTD - All Rights Reserved www.elvedit.com 169

[13] Bonnal, P., Gaurc, K., Lacoste, G. (2004). Where do we stand with fuzzy project scheduling? Journal of Construction Engineering and Management, 130, 114-123.

[14] Fortin, J., Zielinski, P., Dubois, D., Fargier, F. (2010). Criticality analysis of activity networks under interval uncertainty. Journal of Scheduling, 13, 609-627.

[15] Maravas A. & Pantouvakis J. P. (2011). A fuzzy repetitive scheduling method for projects with repeating activities. Journal of Construction Engineering and Management, 137, 561-564.

[16] Shi, Q. & Blomquist, T. (2012). A new approach for project scheduling using fuzzy dependency structure matrix. International Journal of Project Management, 30, 503-510.

[17] Zwikael, O., Cohen, Y., Sadeh, A. (2006). Non-delay scheduling as a managerial approach for managing Project. International Journal of Project Management, 24, 330-336.

[18] Kim, J. Y., Kang, Ch. W., Hwang, I. K. (2012). A practical approach to project scheduling: considering the potential quality loss cost in the time-cost tradeoff problem. International Journal of Project Management, 30, 264-272.

[19] Long, L. D. & Ohsato, A. (2008). Fuzzy critical chain method for project scheduling under resource constraints and uncertainty. International Journal of Project Management, 26, 688-698.

[20] Banaszak Z., Zaremba M., Muszyński W. (2009). Constraint programming for project-driven manufacturing. Int. J. Production Economics, 120, 463-475.

[21] Relich, M. (2011). CP-based decision support for scheduling. Applied Computer Science, 7(1), 7-17.

[22] Relich, M. (2011). Project prototyping with application of CP-based approach. Management, 15(2), 364-377.

[23] Hofstedt, P. & Pepper, P. (2007). Integration of declarative and constraint programming. Theory And Practice of Logic Programming, 7, 93-121.

[24] Van Roy, P., Haridi, S. (2004). Concepts, techniques and models of computer programming. Massachusetts Institute of Technology.

[25] Rossi F., van Beek P., Walsh T. (2006). Handbook of Constraint Programming. Elsevier Science.

[26] Pesic M., & van der Aalst W. M. P. (2006). A declarative approach for flexible business processes management. In Business Process Management Workshops, Lecture Notes in Computer Science, Springer, 4103, 169-180.

[27] Relich, M. (2013). Fuzzy project scheduling using constraint programming. Applied Computer Science, 9(1), 3-16.

[28] Relich, M. (2014). A declarative approach to new product development in the automotive industry. In Environmental Issues in Automotive Industry (pp. 23-45), Springer Berlin Heidelberg.

[29] Sitek, P. & Wikarek, J. (2013). A hybrid method for modeling and solving constrained search problems. In Proceedings of the Federated Conference on Computer Science and Information Systems (pp. 385-392), Krakow, Poland.

International Journal of Advanced Computer Science and Information Technology Volume 3, Issue 2, 2014, ISSN: 2296-1739

Copyright © 2014 Helvetic Editions LTD - All Rights Reserved

www.elvedit.com 170

[30] Sitek, P. & Wikarek, J. (2013). A hybrid approach to supply chain modeling and optimization. In Proceedings of the Federated Conference on Computer Science and Information Systems (pp. 1211-1218), Krakow, Poland.

[31] Relich, M. (2013). Knowledge acquisition for new product development with the use of an ERP database. In Proceedings of the Federated Conference on Computer Science and Information Systems (pp. 1285-1290), Krakow, Poland.

[32] Relich, M., Witkowski, K., Saniuk, S., Sujanova, J. (2014). Material demand forecasting: an ERP system perspective. Applied Mechanics and Materials, 527, 311-314.

[33] Maravas, A. & Pantouvakis, J. P. (2012). Project cash flow analysis in the presence of uncertainty in activity duration and cost. International Journal of Project Management, 30, 374-384.

[34] Barraza, G. A., Back, W. E., Mata, F. (2004). Probabilistic forecasting of project performance using stochastic S curves. Journal of Construction Engineering and Management, 130(1), 25-32.

[35] Yao, J. S., Chen, M. S., Lu, H. F. (2006). A fuzzy stochastic single-period model for cash management. European Journal of Operational Research, 170(1), 72-90.

[36] Cheng, M. Y. & Roy, A. F. V. (2011). Evolutionary fuzzy decision model for cash flow prediction using time dependent support vector machines. International Journal of Project Management, 29, 56-65.

[37] Mon, D. L., Cheng, C. H, Lu, H. C. (1995). Application of fuzzy distribution on project management. Fuzzy Set and Systems, 73(2), 227-234.

[38] Yaghootkar, K. & Gil, N. (2012). The effects of schedule-driven project management in multi-project environments. International Journal of Project Management, 30, 127-140.

[39] Relich, M. (2010). A decision support system for alternative project choice based on fuzzy neural networks. Management and Production Engineering Review, 1(4), 46-54.

[40] Relich, M. (2010). Assessment of task duration in investment projects. Management, 14(2), 136-147.

[41] Peric, M. & Djurkin, J. (2014). Systems thinking and alternative business model for responsible tourist destination. Kybernetes, 43(3/4), 480-496.

[42] Relich, M. (2006). Liquidity management in a small enterprise by the application of reverse approach. Management, 10(2), 129-137.

[43] Caganova, D., Cambal, M., Sujanova, J., Woolliscroft, P. (2012). The Multiculturality Aspects and Human Capital Management within Slovak Industrial Enterprises. In Proceedings of the 4th European Conferences on Intellectual Capital (pp. 106-117), Helsinki, Finland.

[44] Caganova, D., Cambal, M., Weidlichova Luptakova, S. (2010). Intercultural Management – Trend of Contemporary Globalized World. Electronics and Electrical Engineering, 6(102), 51-54.

[45] Kormancova, G. & Theodoulides, L. (2013). The intercultural dimensions of the cultures in transition process in Central and Eastern Europe. In Contemporary Challenges towards Management III (pp. 41-60), Uniwersytet Slaski w Katowicach.

A Constraint Programming Approach for Scheduling in a Multi-Project Environment Marcin Relich

Copyright © 2014 Helvetic Editions LTD - All Rights Reserved www.elvedit.com 171

AUTHORS’ BIOGRAPHY

Marcin Relich, PhD, is an Assistant Professor at the Faculty of Economics and Management, Department of Controlling and Computer Applications in Economics, University of Zielona Gora, Poland. His current research interests include various aspects of information systems development and management, enterprise application integration, business process improvement, and knowledge management. His numerous publication activities are closely connected with artificial intelligence methods and tools, project

management, and innovation. His previous research interests were connected with decision support systems and early warning systems in enterprises, operations research, and production engineering.