The definition and assumptions that were adopted to develop the model have been presented below.

We are given a repetitive construction projects carried out using a flow-shop system. There aremtasks to be completed by m specialised brigades on n structures. The duration of each task is deterministic and is assumed to be known. Once started, tasks cannot be interrupted. The following sets of index pairs have been determined below:

= {(1, 1) , (2, 1) . . . (*n* − 1, 1) , (1, 2) . . . (*n* − 1, *m*)} - helpful in determining flexible time couplings between the tasks performed by a brigade on different structures;

= {(1, 1) , (2, 1) . . . (*n*, 1) , (1, 2) . . . (*n*, *m* − 1)} - helpful in determining flexible time couplings between the tasks performed by different brigades on a single structure; *W̄*= {(1, 1) , (2, 1) . . . (*n*, 1) , (1, 2) . . . (*n*, *m*)} - the set of index pairs for all tasks.

For such assumptions and defined sets a linear programming model has been developed:

Data: *t*_{i}_{,j}

Parameters: ${tc}_{i,j}^{od},\phantom{\rule{thinmathspace}{0ex}}{tc}_{i,j}^{og},\phantom{\rule{thinmathspace}{0ex}}{tc}_{i,j}^{bd},\phantom{\rule{thinmathspace}{0ex}}{tc}_{i,j}^{bg},\phantom{\rule{thinmathspace}{0ex}}{cw}_{i,j}^{od},\phantom{\rule{thinmathspace}{0ex}}{cw}_{i,j}^{og},\phantom{\rule{thinmathspace}{0ex}}{cw}_{i,j}^{bd},\phantom{\rule{thinmathspace}{0ex}}{cw}_{i,j}^{bg}$

Decision variables: ${S}_{i,j},\phantom{\rule{thinmathspace}{0ex}}{F}_{i,j},\phantom{\rule{thinmathspace}{0ex}}{ck}_{i,j}^{od},\phantom{\rule{thinmathspace}{0ex}}{ck}_{i,j}^{og},\phantom{\rule{thinmathspace}{0ex}}{ck}_{i,j}^{bd},\phantom{\rule{thinmathspace}{0ex}}{ck}_{i,j}^{bg}$

Goal function:
$$\begin{array}{rl}FC& =\sum _{(i,j)\in \hat{O}}({ck}_{i,j}^{od}\cdot {cw}_{i,j}^{od}+{ck}_{i,j}^{og}\cdot {cw}_{i,j}^{og})\\ & +\sum _{(i,j)\in \hat{B}}({ck}_{i,j}^{bd}\cdot {cw}_{i,j}^{bd}+{ck}_{i,j}^{bg}\cdot {cw}_{i,j}^{bg})+{F}_{n,m}\to min\end{array}$$(1)

Constraints:

$$\begin{array}{r}{F}_{i,j}={S}_{i,j}+{t}_{i,j},\phantom{\rule{thinmathspace}{0ex}}\text{for}\phantom{\rule{thinmathspace}{0ex}}(i,j)\in \hat{W}\end{array}$$(2)$$\begin{array}{r}{S}_{i+1,j}\le {F}_{i,j}+{tc}_{i,j}^{od}-{ck}_{i,j}^{od},\phantom{\rule{thinmathspace}{0ex}}\text{for}\phantom{\rule{thinmathspace}{0ex}}(i,j)\in \hat{O}\end{array}$$(3)$$\begin{array}{r}{S}_{i+1,j}\ge {F}_{i,j}+{tc}_{i,j}^{og}+{ck}_{i,j}^{og},\phantom{\rule{thinmathspace}{0ex}}\text{for}\phantom{\rule{thinmathspace}{0ex}}(i,j)\in \hat{O}\end{array}$$(4)$$\begin{array}{r}{S}_{i,j+1}\le {F}_{i,j}+{tc}_{i,j}^{bd}-{ck}_{i,j}^{bd},\phantom{\rule{thinmathspace}{0ex}}\text{for}\phantom{\rule{thinmathspace}{0ex}}(i,j)\in \hat{B}\end{array}$$(5)$$\begin{array}{r}{S}_{i,j+1}\ge {F}_{i,j}+{tc}_{i,j}^{bg}+{ck}_{i,j}^{bg},\phantom{\rule{thinmathspace}{0ex}}\text{for}\phantom{\rule{thinmathspace}{0ex}}(i,j)\in \hat{B}\end{array}$$(6)$$\begin{array}{r}{S}_{i,j},\phantom{\rule{thinmathspace}{0ex}}{F}_{i,j},{ck}_{i,j}^{od},\phantom{\rule{thinmathspace}{0ex}}{ck}_{i,j}^{og},\phantom{\rule{thinmathspace}{0ex}}{ck}_{i,j}^{bd},\phantom{\rule{thinmathspace}{0ex}}{ck}_{i,j}^{bg}\ge 0\end{array}$$(7)The developed model requires knowledge of the duration of tasks being performed on all structures by all brigades (*t*_{i}_{,j}).

The parametres of the model are: ${tc}_{i,j}^{od},\phantom{\rule{thinmathspace}{0ex}}{tc}_{i,j}^{og}-$the value of the limiting lower and upper flexible time couplings between work on successive structures, as well as their respective unit weights ${cw}_{i,j}^{od},\phantom{\rule{thinmathspace}{0ex}}{cw}_{i,j}^{og}$allowing the calculation of the value of the influence of failure to ensure a flexible coupling on the goal function; ${tc}_{i,j}^{bd},\phantom{\rule{thinmathspace}{0ex}}{tc}_{i,j}^{bg}-$the value of limiting upper and lower flexible time couplings between the work of successive brigades and their respective unit weights ${cw}_{i,j}^{bd},\phantom{\rule{thinmathspace}{0ex}}{cw}_{i,j}^{bg}$allowing the calculation of the value of the influence of failingto ensure a flexible coupling on the goal function.

The decision variables in the model are: *S*_{i}_{,j} , *F *_{i}_{,j} - the time of initiation and completion of work on structure *i* by brigade $\begin{array}{r}\mathit{\text{j}}\phantom{\rule{thinmathspace}{0ex}};{ck}_{i,j}^{od},\phantom{\rule{thinmathspace}{0ex}}{ck}_{i,j}^{og},\phantom{\rule{thinmathspace}{0ex}}{ck}_{i,j}^{bd},\phantom{\rule{thinmathspace}{0ex}}{ck}_{i,j}^{bg}-\end{array}$auxiliary variables that allow us to determine by how much did the lower and upper flexible time coupling for performing tasks on structures, as well as the lower and upper flexible time coupling for the work of brigades miss their marks.

The goal function (1) is a sum of several components. The first element determines the value of the failure to ensure lower and upper flexible time coupling between structures. The second element allows us to determine the value of the failure to ensure lower and upper flexible time coupling between the tasks of successive brigades. The third element is the deadline for all work (*Z*_{n}_{,m} signifies the time of completion of the last work). The objective function will be minimized. This will allow us to set such deadlines for the work of brigades on the structure that best meet the technological constraint with the shortest project completion time.

The model has the following constraints. Formula (2) makes it possible to link the initation and completion dates of all tasks performed during the carrying out of the project. Formulas (3-6) retain the dependencies of the CPM network, taking into account lower and upper flexible time couplings for both structures and brigades, and allow us to determine whether flexible couplings have not been ensured (*ck* variables). All variables take on non-negative values (7).

Both the constraints and the goal function are linear, which makes this a linear programming model. The model developed by the authors has been implemented in the Python programming language. The Simplex algorithm was used to analyse the model.

Figure 1 shows the concept of flexible time couplings. In a case in which the difference between the date of the initation of a task on structure *i+1* by a given brigade and the date of a task’s completion on structure *i* falls between the values ${tc}_{i,j}^{od}\phantom{\rule{thinmathspace}{0ex}}\phantom{\rule{thinmathspace}{0ex}}\text{and}\phantom{\rule{thinmathspace}{0ex}}\phantom{\rule{thinmathspace}{0ex}}{tc}_{i,j}^{og}$(or in the case of tasks being performed on a signle structure by successive brigades: ${tc}_{i,j}^{bd}\phantom{\rule{thinmathspace}{0ex}}\text{and}\phantom{\rule{thinmathspace}{0ex}}{tc}_{i,j}^{bg})$this does not affect the value of the goal function (Figure 1a). In a case in which the aforementioned difference is smaller than the value of the lower flexible coupling by ${tc}_{i,j}^{od}\phantom{\rule{thinmathspace}{0ex}}\text{by}\phantom{\rule{thinmathspace}{0ex}}{ck}_{i,j}^{od}$time units, the goal function will be increased by the quotient of of the value of the failure of ensuring to maintaining this coupling $({ck}_{i,j}^{od})$and the determined ${cw}_{i,j}^{od}$weight (Figure 1b). Also in the case of failure to keep the upper flexible coupling by ${ck}_{i,j}^{og}$time units, the goal function will be increased by the quotient ${ck}_{i,j}^{og}\phantom{\rule{thinmathspace}{0ex}}\bullet \phantom{\rule{thinmathspace}{0ex}}{cw}_{i,j}^{og}$(Figure 1c). Flexible couplings between tasks carried out on one site by successive brigades can be interpreted in a similar manner. By adopting appropriate values of *cw* parameters, constraints can be flexibly complied with according to the priorities set by the planner.

Figure 1 Graphical interpretation of flexible time couplings.

The developed model will be used to schedule repetitive construction projects with technological constrains. The set T will contain work indices after which the technological pause is to take place. Suppose that between task *P*_{k}_{,l} and task *P*_{k}_{,l+1}, where *l ∈ T*, there must be a technological pause of at least *s*_{l}. L̃_{1}will be a sufficiently large number (determined experimentally, it must be a number by at least 2 orders of magnitude greater than the maximum duration of any task) and L̃_{2} will be much larger (by at least 2 orders of magnitude) than L̃_{1} *(*L̃ _{2} *≫* L̃_{1}). With these assumptions, an appropriate set of weights was prepared:

$$\begin{array}{r}{tc}_{i,j}^{od}=0,\phantom{\rule{thinmathspace}{0ex}}{cw}_{i,j}^{od}=\stackrel{~}{{L}_{1}},\phantom{\rule{thinmathspace}{0ex}}\text{for}\phantom{\rule{thinmathspace}{0ex}}(i,j)\in \hat{O}\end{array}$$(8)$$\begin{array}{r}{tc}_{i,j}^{og}=\stackrel{~}{{L}_{1}},\phantom{\rule{thinmathspace}{0ex}}{cw}_{i,j}^{og}=\stackrel{~}{{L}_{1}},\phantom{\rule{thinmathspace}{0ex}}\text{for}\phantom{\rule{thinmathspace}{0ex}}(i,j)\in \hat{O}\end{array}$$(9)$$\begin{array}{r}{tc}_{i,j}^{bd}=0,\phantom{\rule{thinmathspace}{0ex}}{cw}_{i,j}^{bd}=\stackrel{~}{{L}_{1}},\phantom{\rule{thinmathspace}{0ex}}\text{for}\phantom{\rule{thinmathspace}{0ex}}\left(i,j\right)\in \hat{B}\wedge j/\in T\end{array}$$(10)$$\begin{array}{r}{tc}_{i,j}^{bd}={s}_{j},\phantom{\rule{thinmathspace}{0ex}}{cw}_{i,j}^{bd}=\stackrel{~}{{L}_{2}},\phantom{\rule{thinmathspace}{0ex}}\text{for}\phantom{\rule{thinmathspace}{0ex}}\left(i,j\right)\in \hat{B}\wedge j\in T\end{array}$$(11)$$\begin{array}{r}{tc}_{i,j}^{bg}=\stackrel{~}{{L}_{1}},\phantom{\rule{thinmathspace}{0ex}}{cw}_{i,j}^{bg}=\stackrel{~}{{L}_{1}},\phantom{\rule{thinmathspace}{0ex}}\text{for}\phantom{\rule{thinmathspace}{0ex}}(i,j)\in \hat{B}\end{array}$$(12)The weights described in condition (8) will allow the meeting of the general conditions in the CPM network - none of the tasks carried out on structure *i* + 1 will start before completion of work on structure *i*.Weights (9) and (12) will ensure that there are no upper limits between the date of initiating a successive work and the compeltion date of a previous work - this applies to tasks performed on subsequent structures (condition 9) as well as to tasks performed by subsequent brigades (condition 12). The weights presented in condition (10) will allow the meeting of general conditions in the CPM network - none of the tasks carried out by brigade *j* + 1 will commence before the end of brigade *j′s* work on structure *i* (this does not apply to tasks that require technological pauses). The weights described in condition (11) will cause the pause between the work of successive brigades on a structure will be equal to at least *s*_{j}. It should be noted that due to the fact that *L̃*_{2} *≫* L̃_{1} adherence to technological pauses will be more important than maintaining general limitations in the CPM network. Such a developed set of weights will be called set A.

A set of weights which will cause the technological pause to be exactly as long as parameter *s*_{l} was developed as well:

$$\begin{array}{r}{tc}_{i,j}^{od}=0,\phantom{\rule{thinmathspace}{0ex}}{cw}_{i,j}^{od}=\stackrel{~}{{L}_{1}},\phantom{\rule{thinmathspace}{0ex}}\text{for}\phantom{\rule{thinmathspace}{0ex}}(i,j)\in \hat{O}\end{array}$$(13)$$\begin{array}{r}{tc}_{i,j}^{og}=\stackrel{~}{{L}_{1}},\phantom{\rule{thinmathspace}{0ex}}{cw}_{i,j}^{og}=\stackrel{~}{{L}_{1}},\phantom{\rule{thinmathspace}{0ex}}\text{for}\phantom{\rule{thinmathspace}{0ex}}(i,j)\in \hat{O}\end{array}$$(14)$$\begin{array}{r}{tc}_{i,j}^{bd}=0,\phantom{\rule{thinmathspace}{0ex}}{cw}_{i,j}^{bd}=\stackrel{~}{{L}_{1}},\phantom{\rule{thinmathspace}{0ex}}\text{for}\phantom{\rule{thinmathspace}{0ex}}\left(i,j\right)\in \hat{B}\wedge j/\in T\end{array}$$(15)$$\begin{array}{r}{tc}_{i,j}^{bd}={s}_{j},\phantom{\rule{thinmathspace}{0ex}}{cw}_{i,j}^{bd}=\stackrel{~}{{L}_{2}},\phantom{\rule{thinmathspace}{0ex}}\text{for}\phantom{\rule{thinmathspace}{0ex}}\left(i,j\right)\in \hat{B}\wedge j\in T\end{array}$$(16)$$\begin{array}{r}{tc}_{i,j}^{bg}=\stackrel{~}{{L}_{1}},\phantom{\rule{thinmathspace}{0ex}}{cw}_{i,j}^{bg}=\stackrel{~}{{L}_{1}},\phantom{\rule{thinmathspace}{0ex}}\text{for}\phantom{\rule{thinmathspace}{0ex}}(i,j)\in \hat{B}\wedge j/\in T\end{array}$$(17)$$\begin{array}{r}{tc}_{i,j}^{bg}={s}_{j},\phantom{\rule{thinmathspace}{0ex}}{cw}_{i,j}^{bg}=\stackrel{~}{{L}_{2}},\phantom{\rule{thinmathspace}{0ex}}\text{for}\phantom{\rule{thinmathspace}{0ex}}(i,j)\in \hat{B}\wedge j\in T\end{array}$$(18)Conditions (13-16) are analogous to (8-11). The condition (17) has been modified while condition (18) has been added to impose an upper limit on the length of the technological pause - now it will last exactly *s*_{j}. This set of weights will be called set B.

The proposed models assume that every day is a work-day.

## Comments (0)

General note:By using the comment function on degruyter.com you agree to our Privacy Statement. A respectful treatment of one another is important to us. Therefore we would like to draw your attention to our House Rules.