# A New Approach to the Allocation of Multidimensional Resources in Production Processes
## 5 Implementation  
AMPL (A Modeling Language for Mathematical Programming) [21] was used to implement the model (_Q_1... \(Q\)5_, (1)... (14)) presented in Section 4. AMPL is a universal tool for modeling problems formulated with the help of mathematical programming. An important advantage of this tool is the ability to work with many solvers such as: BARON, CPLEX, GUROBI, ILOG, LINGO, SCIP, XPRESS, etc. [22], without having to use their modeling languages. Thus, the problem implementation model in Appendix A can be solved with any of the solvers above. The Gurobi [23] solver was used during the computational experiments presented in Section 6. The data and parameters of the modeled problem were recorded by the facts, the relationship diagram of which is presented in Figure 2 and the description in Table 5. The proposed data representation enables easy integration of decision support models developed in the AMPL language with MRP II, ERP class systems, etc. because the facts are very easy to save in the SQL database. \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Question** & **Problem** & **Constrains** & **Objective** & **Solution** \\ \hline _Q\_1_ & CSP & (1)... (7), (9)... (14) Count\_1 = 0 & - & X\({}_{u,m,o,f}\) \\ \hline _Q\_2_ & BILP & (1)... (7), (9)... (14) & Min (Count\_1) & N\({}_{m,i}\) \\ \hline _Q\_3_ & CSP & (1)... (7), (9)... (14) & Count\_1 = 0 & - & X\({}_{w,p,l,c}\) \\ \hline _Q\_4_ & BILP & (1)... (14) & Max (Cost\_1) & X\({}_{w,p,l,c}\) \\ \hline _Q\_5_ & BILP & (1)... (14) & Max (Cost\_1) & X\({}_{w,p,l,c}\) \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Question modelling method. \begin{table}
\begin{tabular}{c c} \hline \hline
**Constraint** & **Description** \\ \hline \multirow{4}{*}{(1)} & The constraint guarantees that the resources with appropriate \\  & functionalities/properties are assigned to each task in any state \\  & of unavailability. \\ \hline \multirow{2}{*}{(2)} & The constraint guarantees that the resource concerned can only \\  & obtain the functionalities/properties that are permitted for them. \\ \hline \multirow{4}{*}{(3)} & The constraint states that if the selected resource is assigned to a \\  & specific task, they must have the required \\  & functionalities/properties or can obtain them. \\ \hline \multirow{4}{*}{(4)} & The constraint has defined the number of \\  & functionalities/properties changes required \\ \hline \multirow{2}{*}{(5,6)} & Constraints link the decision variables Y\({}_{u,m,o}\) and X\({}_{u,m,o,f}\) \\ \hline \multirow{2}{*}{(7)} & The constraint guarantees that simultaneous tasks cannot use the \\  & same resources. \\ \hline \multirow{2}{*}{(8)} & The constraint determines the cost of completing the tasks. \\ \hline \multirow{2}{*}{(9)} & Constraints link the decision variables Q\({}_{u,w,m,o,f}\) and Z\({}_{u,w,o}\). \\ \hline \multirow{2}{*}{(10)} & The constraint ensures that a given task is performed by only one \\  & cell/workstation. \\ \hline \multirow{2}{*}{(11)} & The constraint ensures that the cells/workstations perform only \\  & the allowed number of tasks at the same time. \\ \hline \multirow{2}{*}{(12)} & The project/order must be completed in full, i.e., all tasks. \\ \hline \multirow{2}{*}{(13)} & Constraints link the decision variables Q\({}_{u,w,m,o,f}\) and X\({}_{u,m,o,f}\). \\ \hline \multirow{2}{*}{(14)} & Binarity of decision variables \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Description of the constraints. Figure 2: Entity Relationship Diagram (ERD) in Martin notation for the database of the problem under consideration.