26
1 OPTIMIZING SUB-CONTRACTOR SELECTION BY BRANCH AND BOUND ALGORITHM Bowen Deng Bhanu Pratap Singh Sandu (Group 33) Graduate Students, Department of Civil and Environmental Engineering, University of Illinois, Urbana-Champaign Email: [email protected] , [email protected] Khaled A El-Rayes Professor University of Illinois, Urbana-Champaign Email: [email protected]

CEE526 Paper for Group 33 (Bowen, Bhanu)

Embed Size (px)

Citation preview

1

OPTIMIZING SUB-CONTRACTOR SELECTION BY BRANCH AND BOUND ALGORITHM

Bowen Deng

Bhanu Pratap Singh Sandu (Group 33)

Graduate Students, Department of Civil and Environmental Engineering,

University of Illinois, Urbana-Champaign

Email: [email protected] , [email protected]

Khaled A El-Rayes Professor

University of Illinois, Urbana-Champaign

Email: [email protected]

2

ABSTRACT

Obviously it is a good news for a construction company to win the bid for a huge potential amount

of profit. However, when they lack the capability to finish the construction activities by themselves

it would be another story. Usually they have to choose appropriate subcontractors to do the

unfinished job. Subcontractors may be various from experience, cost, time, quality and many other

factors which can have impacts on the selection by a main contractor on a certain project. How to

choose subcontractors wisely has become a hotspot issue to many construction companies. Many

literatures have recorded the attempts to select subcontractors with a consideration of as many

possible factors as they can. Some of them are connected with mathematical models and algorithms.

This paper is on the purpose of optimizing the selection of subcontractors on the basis of existing

methods---the Branch and Bound algorithm. So a literature review is given after stating the

problem. And a numerical example is also included to better explain the optimization process.

PROBLEM STATEMENT

Nowadays construction companies are working so hard to make a living through the fierce

competition. It is always a good news for a construction company to win a bid by defeating all the

3

competitors. However, as the rapid development of construction industry, construction projects

nowadays are becoming bigger and harder than before.

Main contractors in today’s construction industry cannot complete the entire construction projects

on their own. Some projects are so complicated that they need contractors with specific previous

working experience. So it is necessary to subcontract some parts of the construction projects to

competitive subcontractors.

Here comes the question, how to choose subcontractors wisely? Many literatures have already

recorded attempts to assisting the selection of subcontractors by using various mathematical

algorithms and computer models. But they all have their limitations. Some of them are not as

accurate as people think. So in this paper, the main purpose is to optimize the existing method by

doing literature review and modifications.

To optimize the selection process is so important that it should catch people’s attention. It is known

that there are so many candidates in the market with different construction background and

experience. If the main contractor chooses an appropriate subcontractor, the construction activity

could be completed ahead of schedule and under the budget. Instead, a wrong candidate may result

4

in various possible troubles like short of experience, poor construction quality or some other

potential conflicts. Therefore, the optimization of subcontractor selection is of great significance

to all the main contractors.

This paper selects a branch and bond algorithm as a basis to explore the further optimization of

subcontractors in construction industry. The issue is to review the original models and equations,

and find out which part of the original model can be improved. Although there are many possible

factors which may have impacts on the selection like the relationship between contractors, the

working experience and construction quality, the paper only chooses the most important factors to

do the optimization, project schedule and overall cost. Construction quality is not discussed here

because it is too subjective to get a quantitative measure.

OBJECTIVES

The objective of this paper is to study the existing subcontractor selection method by doing

literature review. After that try to optimize it by make some modifications to the original models

and develop a new model to solve the problem.

5

BRANCH AND BOUND ALGORITHM (BB)

In this paper, a Branch and Bound algorithm is selected as the basis of optimization. The Branch

and Bound algorithm (BB) is an algorithm designed for optimization problems. As it is named, the

Branch and Bound algorithm (BB) is used to present all the feasible solutions of a problem into

branches of a tree. And the optimal solution could be found through those branches. The basic idea

of the Branch and Bound algorithm (BB) is the solution space reduction. A problem which has

several constraints can be treated like a certain space. The solution is in that space. To find out the

solution among other options rapidly, the space should be reduced. When operating the Branch

and Bound algorithm (BB), the space of all the feasible solutions is divided into many subsets like

branches. And calculate the thresholds or the upper and lower bounds for those feasible solutions

in each branch. After that, abandon those branches whose bonds are already out of the range. Then

the solution space will be decreased. Keep doing this until find out the optimal solution.

The selection of subcontractors can be transferred into this Branch and Bound algorithm (BB)

problem. Each subcontractor has a construction time and project cost. They are put into the Space.

After solution space reduction, the optimal subcontractor can be found by using different bonds.

6

LITERATURE REVIEW

1. The paper by (Talluri, Baker, & Sarkis, 1999) first realize the importance of selecting

appropriate partner for the job and propose a two phase quantitative framework to optimize

the partner selection problems. In the first phase, data envelopment analysis is utilized to

determine possible candidates for each type of work. Then in the second phase, an integer

goal programming model is introduced to select which possible candidate is the most

appropriate. But there are some limitations exposed during the optimization process. When

imputing initial data, the data may not be that accurate because it is obtained via an

optimization which makes the solution a sub-optimal one. Also when considering the

factors affecting the partner selection, the realistic situation seems more complicated than

the assumptions. So this model needs further modifications to be applied to the current

situation.

2. The paper by (Ip, Yung, & Wang, 2003) presents a branch and bound algorithm solution

for sub-contractor selection in agile manufacturing environment. They embed the project

7

schedule into the branch and bound algorithm models. To solve this problem, they separate

it into two levels. The first level is to use branch and bonds to choose optimal

subcontractors. Then the second level is to schedule the project and minimize the loan

interest.

At the beginning they define a concept called objective value Z(x) considering both money

requirement and project completion time. Then they sequence the activities according to

the means of the bid costs. After initial bounds and search index are set, they start to use

Branch and Bound Algorithm to search for the optimal solution. The principle of Branch

and Bound Algorithm (BB) is the solution space reduction by cutting branches. In each

branch, one activity is assigned to a candidate contractor. After calculating the objective

value Z(x) they compare it with the Bound. The branch would be abandoned if the objective

value Z(x) is more than the Bound. If it is not, the branch would go on and go to the next

step.

8

PROPOSED METHODOLOGY

The proposed methodology incorporates two new performance indices for cost and time namely

Cost performance index (Cpi) and Time performance index (Tpi).

The way these indices would be quantified is purely based on past performances of the

subcontractors. Now this past information is really important for our factors. Generally, if a

contractor has a working experience with multiple subs, the contractor can easily acquire this

information. Even if there is a sub-contractor who is working for the first time with the contractor,

this would not necessarily mean that the sub-contractor is new to the field, just that it is the first

time the duo is working together. Even for sub-contractors like this the historical data can be

obtained by analyzing their past construction works. This way no assumptions would have to be

made and all the data would be easily available too. But if a sub-contractor is however new to the

construction field, this model cannot be applied to them. But it is very unlikely that a contractor

will even consider an inexperienced sub-contractor for such a huge project, almost all the sub-

contractors considered would be highly experienced professionals. And therefore we do not need

to worry about applying our model to brand new sub-contractors.

9

The concept is that, for every 1% increase or decrease in the scheduled cost or time of the

subcontractors, based on the past performances, we would assign them an increased or decreased

Cpi and Tpi. Now these past records taken would be averaged and used. For example, if the

subcontractor has been delayed by 10% time for one project and 5% time for another, the average

taken would be 7.5%. And thus an increase in the bid time for this subcontractor would be made

by 7.5%. The same would be done for the cost aspect based on their cost performances.

The main objective here is to select the optimal combination of subcontractors so that we can

minimize the time and cost for all the jobs in the project.

For example, if we were to select one of three subcontractors for an activity (say excavation) we

would have the following information:

Subcontractor 1 2 3

Job Excavation Excavation Excavation

Time 5 days 4 days 3 days

Cost $20,000 $22,500 $25,000

10

However, after applying Cpi and Tpi, these numbers will change:

Subcontractor 1 2 3

Job Excavation Excavation Excavation

Time 5 days 4 days 3 days

Cost $20,000 $22,500 $25,000

Past performances Avg time delay of

10%

Avg cost increase by

10%

Avg time cut short by

5%

Avg cost increase by

5%

Avg time cut short by

10%

On average always on

budget

Cpi influenced Cost

value

20k x Cpi =

20k x 1.1 = 22k

22k x Cpi =

22k x 1.05 = 23.1k

25k x Cpi =

25k x 1 = 25k

Tpi influence Time

value

5 x Tpi =

5 x 1.1 = 5.5 days

4 x Tpi =

4 x 0.95 = 3.8 days

3 x Tpi =

3 x 0.9 = 2.7 days

Now that we have seen what the factors are about, we will look into the existing model

proposed by Ip, Yung and Wang and how we influence and further optimize it.

Since sub-projects contracted by partners consist of an activity network with precedence, each

partner works in the project as a ring in a chain (Elmaghraby, 1977). Because the main contractor

11

gets paid in installments, this can be considered as the cash flow. This investment cannot always

meet the requirements from the sub-project contractors and thus the main contractor often takes a

loan of certain amount from the bank and pay them interest. Because of the complexity of the

selection of the sub-contractor, it is not easily solved by general mathematical programming

methods. However, Branch and Bound method is powerful tool to solve this kind of combinatorial

optimizations (Taha, 1975).

The model proposed by Ip, Yung and Wang is described as follows:

1. Problem and model of sub-contractor selection

2. Inefficient and ideal candidates

3. Branch and bound algorithm embedded project scheduling

4. Numerical analysis

Problem and model of sub-contractor selection:

All the notations are listed below:

n = number of jobs included in project

D = due-date of project

12

b = penalty cost for tardiness of a period

a = rate of first payment to sub-contractors

r = interest rate of loan from bank

f(t) = cash flow paid to the main contractor by the project owner in period t

F = total investment for the project from owner

(i.k) = connected job pair

H = set of all connected job pairs

mi = number of candidates bidding for job i

bij = bid cost of candidate j for job i

pij = bid completion time of candidate j for job i

Cpij = cost performance index of candidate j for job i

Tpij = time performance index of candidate j for job i

(The above mentioned factors are what we plan to introduce to the model).

cn = completion time of final job, i.e. the completion time of the project

xij = 0–1 assignment variable. xij = 1 means the job i is contracted to j

13

x = matrix variable for all xij: It is a completed selection

Z(x) = objective value achieved by selection x

si = beginning time of job i in selection x

ci = completion time of job i in selection x

Ok = index of job sequenced at kth place with the kth larger mean cost

I(Ok) = assigned candidate index of job Ok (the job at the k-place in the sequence)

(Ip, Yung, & Wang, 2003)

The sub-contractor selection problem is stated as: say the main contractor wins a bid for a big

project and is not able to complete the whole project by its own capacity and resources, therefore

subcontracting a number of sub projects. The objective here is to select an optimal combination of

sub-contractors for all the jobs such as to minimize the total cost and time.

Defining the variables,

xij(t) =

1, job i is contracted to candidate j and begins at period t

0, otherwise

14

Then the problem can be described by the following model (adding Cpij and Tpij where needed)

(Ip, Yung, & Wang, 2003)

The factors Cpij and Tpij have been added to the existing models and were not a part of the model

before.

So whenever the model uses a cost factor, we multiply the cost performance index to modify and

further optimize the solution. Same is done for the time factor.

Inefficient and ideal candidates:

Since the size of the solution space is,

It clearly shows that even for a small scale problem with 10 jobs and 3 candidates the solution

minxZ(x) = bijCpij xij

t=1

cn

∑j=1

mi

∑i=1

n

∑ (t)

+r α bijCpij xij (τ )+ (1−α ) bijCpij xij (τ − pijTpij )− f (τ )τ=1

t

∑τ=1

t

∑j=1

mi

∑i=1

n

∑τ=1

t

∑j=1

mi

∑i=1

n

∑⎡

⎣⎢

⎦⎥

t=1

cn

∑+

+ β cn − D[ ]+

s.t .

xij (t) = 1,i = 1,2,...,n,t=1

cn

∑j=1

mi

(t + pijTpij )xij (t)t=1

cn

∑j=1

mi

≤ txkj (t),∀(i,k)∈Ht=1

cn

∑j=1

mk

(t + pnjTpij )xnj (t) = cnt=1

cn

∑j=1

mn

∑ ,

xij (t) = 1or0,∀i, j,t,

N =i=1

n

Πmi

15

space is very large, 310 = 59,049. This is too high a number and therefore a reduction in the solution

space is required. This reduction comes in the format of a theorem used by Ip et al, which says,

the candidate j of job I is inefficient if there exists a candidate k for the same job with,

bik £ bij, pik < pij or bik < bij, pik £ pij (Ip, Yung, & Wang, 2003).

Using this theorem, we can ignore all inefficient candidates without the loss of an optimal solution

and thus the solution space is reduced considerably.

Branch and bound algorithm embedded project scheduling:

The idea of the proposed branch and bound algorithm is to select the optimal partner combination

by branch and bound at the first level of algorithm and to schedule all jobs with a fixed partner

combination at the second level (Ip, Yung, & Wang, 2003).

Numerical Analysis:

The algorithm was coded by Ip et al on FORTRAN and run on a Pentium II/366 machine and

satisfactory results were achieved. The example they took was a real life construction problem of

the construction of a coal-fire power station. A total of 16 jobs were set and a due date of 36 months

was also set. Additional details are: loan interest rate = 0.6% per month, 55% payment for all jobs

16

will be made in advance and the rest of the payment when the job was done. A total investment of

$72.75 million was to be made.

Table 1: The job list and the cost and time values for each job

Number Job Cost(million$) Time(months)

1 Totaldesignofsystem 2.75 6

2 Designofrailwayforcoal 0.3 4

3 Constructionofrailway 3.75 10

4 Designofboilersystem 1.75 6

5 Manufacturingofboilers 18.5 12

6 Designofbuildings 2 6

7 Constructionofbuildings 6.5 10

8 Designofgenerators 1.5 6

9 Designofelectrictransmission 1.5 6

10 Manufacturingofgenerators 13.5 12

11 Assemblingofboilers 1 3

12 Manufacturingoftransmissionequipment 6.75 12

13

Designandassemblyofcomputercontrol

system 7 16

14 Assemblingofgenerators 1.25 3

15 Assemblingoftransmissionsystem 1.75 3

16 Systeminspectionandtestrunning 3 5

17

Table 2: Number of candidates for the job

Job Numberofcandidates

1 4

2 6

3 5

4 2

5 2

6 7

7 4

8 8

9 3

10 4

11 5

12 3

13 6

14 3

15 4

16 2

Table 3: List of candidates for each job

Jobnumber

Candidate

code Cost(million$)

Time

(months)

A1 2.7 4

A2 2.4 5

1 A3 2.175 5

A4 1.8 6

18

B1 0.285 4

B2 0.3 3

B3 0.375 3

2 B4 0.27 5

B5 0.225 6

B6 0.33 3

C1 3 12

C2 3.375 11

3 C3 3.75 10

C4 4.05 8

C5 2.775 13

4 D1 1.5 6

D2 1.8 4

5 E1 18 12

E2 19.5 10

F1 1.8 4

F2 2.1 4

F3 1.5 5

6 F4 2.175 3

F5 1.2 7

F6 1.35 6

F7 1.05 8

G1 1.8 5

7 G2 2.1 4

19

G3 1.5 7

G4 1.2 8

H1 5.25 12

H2 4.5 13

H3 5.7 11

8 H4 6 10

H5 7.2 8

H6 6.75 8

H7 6.3 10

H8 6.45 10

I1 1.65 5

9 I2 1.2 7

I3 1.8 4

J1 14.7 10

10 J2 13.2 12

J3 12 13

J4 15.75 8

K1 0.9 3

K2 0.75 3

11 K3 1.05 2

K4 0.6 4

K5 0.825 3

L1 6 12

12 L2 5.7 14

20

L3 7.2 10

M1 4.5 18

M2 5.7 17

M3 7.5 12

13 M4 8.25 10

M5 9 8

M6 7.2 15

N1 1.2 4

14 N2 1.8 2

N3 1.5 3

P1 1.8 2

15 P2 1.5 3

P3 1.2 3

P4 0.9 5

16 Q1 2.4 6

Q2 3 5

Now, the model runs the mentioned values and tries to optimize the sub-contractor selection based

on the values of their individual cost and time of completion. We can clearly see here how much

focused this model is on these time-cost values.

So when run by the model, an optimal selection of sub-contractors for respective jobs is achieved.

21

Table 4: The sub-contractors of optimal solution

The solution by Ip et al of above data set with the model resulted in the following optimal solution:

Job

number

Sub-

contractor

Cost

(million$) Proc.Time

Beginning

time

Timeof

completion

1 A1 2.7 4 1 5

2 B2 0.3 3 1 4

3 C5 2.775 13 4 17

4 D2 1.8 4 5 9

5 E1 18 12 13 25

6 F7 1.05 8 9 17

7 G2 2.1 4 9 13

8 H6 6.75 8 17 25

9 I3 1.8 4 13 17

10 J3 12 13 14 27

11 K3 1.05 2 25 27

12 L1 6 12 17 29

13 M3 7.5 12 19 31

14 N2 1.8 2 27 29

15 P1 1.8 2 29 31

16 Q2 3 5 31 36

In this solution we can see that the optimal selection of sub-contractors is satisfactory since all the

jobs are completed within the duration of 36 months and with a budget of $70.5 million. So the

contractor makes a profit of $2.25 million.

22

But imagine if some of these sub-contractors fail to deliver on time or within the budget. If that

happens, and there is a reasonable probability that it could happen, the contractor’s profit will end

up being reduced and he might have to pay the tardiness penalty as well. This would seriously

impact the profit of the project and make the entire project a failed venture.

Now here is where our factors for cost and time performance (Cpi and Tpi) come in. We multiply

the existing time and cost promised by each sub-contractor by their individual cost and time

performance index. This gives us their updated cost and time for completion of the activity.

For example, for job 1 four sub-contractors had submitted their cost and time values as below:

Jobnumber

Candidate

code Cost(million$)

Time

(months)

A1 2.7 4

A2 2.4 5

1 A3 2.175 5

A4 1.8 6

But this model did not consider their past performance, and now if we do, suppose for example,

all four candidates have the following past performances:

23

Candidatecode Timeperformance Costperformance

A1

Onaveragethecandidatehas

been5%behindschedule;

Tpi=1.05

Onaveragethecandidatehas

alwaysbeenonbudget;

Cpi=1

A2

Onaveragethecandidatehas

been10%behindschedule;

Tpi=1.10

Onaveragethecandidatehasbeen

5%overbudget;

Cpi=1.05

A3

Onaveragethecandidatehas

been5%aheadofschedule;

Tpi=0.95

Onaveragethecandidatehasbeen

3%overbudget;

Cpi=1.03

A4

Onaveragethecandidatehas

been10%aheadofschedule;

Tpi=0.9

Onaveragethecandidatehasbeen

10%overbudget;

Cpi=1

And thus the new values for time and cost of the four candidates will be:

Jobnumber

Candidate

code

Cost(million$)

CpiInfluencedcost

Time(months)

Tpiinfluencedtime

A1 2.7x1=2.7 4x1.05=4.2

1 A2 2.4x1.05=2.52 5x1.10=5.5

A3 2.175x1.03=2.24 5x0.95=4.75

A4 1.8x1.1=1.98 6x0.9=5.4

24

Now if these values are used to optimize the selection, it will definitely influence the results and

new sub-contractors may get selected based on their efficient past performances.

This is because the model heavily focuses on the cost and time performance of each candidate, and

if those values are influenced, the result will undoubtedly be influenced and further optimized

because these new values would be more realistic and accurate. By using these factors to update

the model, we somewhat eliminate any surprises that might come from the sub-contractors and

make sure that our end profit is secure and maximum. This is the whole idea behind our updated

model. Because the model is so heavily focused on the values of cost and time, if we influence

those values, we will influence the result. Similarly, if we can further optimize the time and cost

values, we will further optimize the model and thus the final solution.

25

EXPECTED CONTRIBUTION

The existing model is designed to select an optimal group of sub-contractors based on their time

and cost bids for the job. However, the model doesn’t take into account the historical data of the

past performances of these individual candidates. That is what this paper proposes. The

contribution we expect to impart is that when optimizing such models to get such a group of sub-

contractors, each of them be judged on the past performances too. This way many judgmental

errors and time delays can be avoided even before the construction starts.

If we look at the industry at large, this would be beneficial to any party which tries to optimize its

sub-contractor selection by updating their model with cost and time performance indices. It would

result in a huge amount of cost savings and more importantly the saving of time.

26

References

Elmaghraby, S. E. (1977). Activity Networks - Project Planning and control by Network

Models. New York, NY, USA: Wiley, New York.

Ip, W., Yung, K., & Wang, D. (2003). Branch and Bound algorithm for sub-contractor selection

in agile manufacturing environment. The Hong Kong Polytechnic Unversity ,

Department of Manufacturing Engineering. Hong Kong: Elsevier.

Taha, H. (1975). Integer Programming Theory, Applications and Computations. New York,

NY, USA: Academic Press.

Talluri, S., Baker, R., & Sarkis, J. (1999). A framework for designing efficient value chain

networks. International Journal of Production Economics, Elsevier.