414
Indices and sets:
a ∈ A
set of all activities
a ∈
A A
⊂
set of activities whose start dates have been predetermined
a
a ∈
A a a
set of predecessors for activity a
a
a ∈ A
set of predecessor activities a that must be completed one period in advance
of activity a
r ∈R
set of resources, such as production and development capacity, whose limits
are enforced on a daily basis
ˆ
r ∈R R
⊂
set of resources, such as production and development capacity, whose limits
are enforced on a monthly basis
t ∈T
set of daily time periods
m ∈ M
set of monthly time periods
ˆ
m
t ∈T m
set of days contained in month m
Parameters:
c a
monetary value associated with completing activity a [$]
q ra
quantity resource r consumed on a daily timescale when completing activity a
[tonnes, meters]
ra
q
quantity resource r consumed on a monthly timescale when completing activity
a [tonnes, meters]
r rt
r r
maximum amount of resource r available on day t [tonnes, meters]
ˆ rm
r r
maximum amount of resource r available in month m [tonnes, meters]
d a duration of activity a [days]
ˆ
a
d a duration of activity a [months]
d a
d
duration, and any associated delay duration, of activity a [days]
δ t discount factor for period t [fraction]
Decision variables:
X at 1 if activity a is completed by the end of time t; 0 otherwise
(
)
, 1
( ) max
t a
at
a
(
,
a
c X
X
(
a
a t
a
a
a t
(
δ t
∑ ∑
A T
t∈ t
(1a)
s.t.
,
a,t
at
1 1
X 1 1
∀
X X
A
T
, t
, ∈
t
,
(1b)
,
,
a
at
a t d
a
d
,
,
a
X at
a t d
a t d
∀
X
a
X
a
a t d
a t d
a t d
A
A
T
,
,
t
,
, ∈
∈
a
t
a
,
a
,
(1c)
(
)
,
,
a
ra
at
a t d
rt
)
,
a
a
a
q X
X
r
r
at
a t d
rt
)
d a
∈
∀
)
X
r
r
X
r
r
)
a t d
rt
a t d )
∑
A
R
T
, t
, ∈
t
,
(1d)
(
)
,
ˆ
ˆ
ˆ
ˆ
,
ˆ
a
m
ra
at
rm
)
a t d
,
a
a
t
a
q
rm
)
X at
d a
∈
∈
∀
) ˆ
X
r
r
X
r
r
)
ˆ
ˆ rm
)
∑ ∑
A
T m
R
M
, m
, ∈
m
,
(1e)
1
a
X
a
1
a = ∀ ∈
1 a
1
A
(1f)
binary
,
at
X binary
at
A
T
, , t
, ∈
t
,
(1g)
The objective function (1a) maximizes discounted cash flow. Constraints (1b) and (1c)
provide the sequence of activities, i.e., precedence, and enforce when an activity can begin
based on predecessor requirements, respectively. Constraint (1d) represents a daily capacity
for all resources, whereas constraint (1e) represents a multi-time period resource constraint.
The latter constraint is discussed in detail in Section 2.1.1. Finally, constraints (1f) and (1g)
enforce start dates for certain predetermined activities (Section 2.1.2) and that the decision
variable is binary, respectively. This is a generalized formulation, which can be adapted to suit
different operations as required.
Using recently developed linear programming algorithms (Bienstock and Zuckerberg,
2009; Muñoz, 2012), in conjunction with customized rounding (Chicoisne et al., 2012),
research has shown that it is possible to solve very large integer problems relatively quickly.
Indices and sets:
a ∈ A
set of all activities
a ∈
A A
⊂
set of activities whose start dates have been predetermined
a
a ∈
A a a
set of predecessors for activity a
a
a ∈ A
set of predecessor activities a that must be completed one period in advance
of activity a
r ∈R
set of resources, such as production and development capacity, whose limits
are enforced on a daily basis
ˆ
r ∈R R
⊂
set of resources, such as production and development capacity, whose limits
are enforced on a monthly basis
t ∈T
set of daily time periods
m ∈ M
set of monthly time periods
ˆ
m
t ∈T m
set of days contained in month m
Parameters:
c a
monetary value associated with completing activity a [$]
q ra
quantity resource r consumed on a daily timescale when completing activity a
[tonnes, meters]
ra
q
quantity resource r consumed on a monthly timescale when completing activity
a [tonnes, meters]
r rt
r r
maximum amount of resource r available on day t [tonnes, meters]
ˆ rm
r r
maximum amount of resource r available in month m [tonnes, meters]
d a duration of activity a [days]
ˆ
a
d a duration of activity a [months]
d a
d
duration, and any associated delay duration, of activity a [days]
δ t discount factor for period t [fraction]
Decision variables:
X at 1 if activity a is completed by the end of time t; 0 otherwise
(
)
, 1
( ) max
t a
at
a
(
,
a
c X
X
(
a
a t
a
a
a t
(
δ t
∑ ∑
A T
t∈ t
(1a)
s.t.
,
a,t
at
1 1
X 1 1
∀
X X
A
T
, t
, ∈
t
,
(1b)
,
,
a
at
a t d
a
d
,
,
a
X at
a t d
a t d
∀
X
a
X
a
a t d
a t d
a t d
A
A
T
,
,
t
,
, ∈
∈
a
t
a
,
a
,
(1c)
(
)
,
,
a
ra
at
a t d
rt
)
,
a
a
a
q X
X
r
r
at
a t d
rt
)
d a
∈
∀
)
X
r
r
X
r
r
)
a t d
rt
a t d )
∑
A
R
T
, t
, ∈
t
,
(1d)
(
)
,
ˆ
ˆ
ˆ
ˆ
,
ˆ
a
m
ra
at
rm
)
a t d
,
a
a
t
a
q
rm
)
X at
d a
∈
∈
∀
) ˆ
X
r
r
X
r
r
)
ˆ
ˆ rm
)
∑ ∑
A
T m
R
M
, m
, ∈
m
,
(1e)
1
a
X
a
1
a = ∀ ∈
1 a
1
A
(1f)
binary
,
at
X binary
at
A
T
, , t
, ∈
t
,
(1g)
The objective function (1a) maximizes discounted cash flow. Constraints (1b) and (1c)
provide the sequence of activities, i.e., precedence, and enforce when an activity can begin
based on predecessor requirements, respectively. Constraint (1d) represents a daily capacity
for all resources, whereas constraint (1e) represents a multi-time period resource constraint.
The latter constraint is discussed in detail in Section 2.1.1. Finally, constraints (1f) and (1g)
enforce start dates for certain predetermined activities (Section 2.1.2) and that the decision
variable is binary, respectively. This is a generalized formulation, which can be adapted to suit
different operations as required.
Using recently developed linear programming algorithms (Bienstock and Zuckerberg,
2009; Muñoz, 2012), in conjunction with customized rounding (Chicoisne et al., 2012),
research has shown that it is possible to solve very large integer problems relatively quickly.
