Upload
bowen-deng
View
65
Download
0
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.