Type: | Package |
Title: | 'Matrix-Based Flexible Project Planning' |
Version: | 0.0.8 |
Maintainer: | Zsolt T. Kosztyan <kosztyan.zsolt@gtk.uni-pannon.hu> |
Description: | Matrix-Based Flexible Project Planning. This package models, plans, and schedules flexible, such as agile, extreme, and hybrid project plans. The package contains project planning, scheduling, and risk assessment functions. Kosztyan (2022) <doi:10.1016/j.softx.2022.100973>. |
License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
Encoding: | UTF-8 |
LazyData: | TRUE |
URL: | https://github.com/kzst/mfpp |
Depends: | R (≥ 4.00) |
Imports: | pracma, nsga2R, igraph, genalg, ggplot2, reshape2, methods, graphics, stats, Rfast |
RoxygenNote: | 7.3.1 |
Suggests: | rmarkdown, knitr, Matrix |
NeedsCompilation: | no |
Packaged: | 2024-12-04 14:51:41 UTC; kzst |
Author: | Zsolt T. Kosztyan [aut, cre], Aamir Sagir [aut] |
Repository: | CRAN |
Date/Publication: | 2024-12-04 15:30:06 UTC |
Matrix-Based Flexible Project Planning
Description
Matrix-Based Flexible Project Planning. This package model, plan and schedule flexible, such as agile, extreme and hybrid project plans. The package contains project planning, scheduling and risk assessment functions.
This work has been implemented by the TKP2021-NVA-10 project with the support provided by the Ministry of Culture and Innovation of Hungary from the National Research, Development and Innovation Fund, financed under the 2021 Thematic Excellence Programme funding scheme.
Author(s)
Zsolt T. Kosztyan*, Aamir Saghir
*e-mail: kzst@gtk.uni-pannon.hu
References
Kosztyán, Z. T. (2022). MFPP: Matrix-based flexible project planning. SoftwareX, 17, 100973.
See Also
generatepdm
, get.structures
, is.flexible
, percent
,phase1
,phase2
,phase3
,plot.PDM_matrix
,summary.PDM_matrix
.
Real-life project database by Batselier and Vanhoucke (2015)
Description
Real-life project database of single-mode individual projects by Batselier and Vanhoucke (2015)
Usage
data("Batselier")
Format
A list (Collection_PDM) of PDM_list and PDM_constraint types of lists, where
PDM_list
contains PDM_matrix (PDM) and the number of completion modes (w), and number of resources (Rs)
PDM_const
a list of (renewable resource) constraints
References
Batselier, J. & Vanhoucke, M. (2015). Construction and evaluation framework for a real-life project database. International Journal of Project Management, 33(3), 697–710, https://doi.org/10.1016/j.ijproman.
Examples
data(Batselier)
# Summary of data collection
summary(Batselier)
# Summary of the first project structure
summary(Batselier[[1]]$PDM_list)
# Summary of the first project constraints
summary(Batselier[[1]]$PDM_const)
Sumulated project database by Boctor (1993)
Description
Sumulated project database of multimode, individual projects by Boctor (1993)
Usage
data("Boctor")
Format
A list (Collection_PDM) of PDM_list and PDM_constraint types of lists, where
PDM_list
contains PDM_matrix (PDM) and the number of completion modes (w), and number of resources (Rs)
PDM_const
a list of (renewable resource) constraints
References
Boctor, F. F. (1993). Heuristics for scheduling projects with resource restrictions and several resource-duration modes. The international journal of production research, 31(11), 2547–2558, https://doi.org/10.1080/00207549308956882.
Examples
data(Boctor)
# Summary of data collection
summary(Boctor)
# Summary of the first project structure
summary(Boctor[[1]]$PDM_list)
# Summary of the first project constraints
summary(Boctor[[1]]$PDM_const)
Function to generate a PDM matrix for flexible project planning problems.
Description
Function to generate a PDM matrix for flexible project planning problems.
Usage
generatepdm(N,ff,cf,mTD,mCD,mRD,w,nR,nW,scale=1.4,QD=FALSE,lst=FALSE)
Arguments
N |
Number of tasks (a numeric value) |
ff |
flexibility factor between [0,1] (a numeric value). |
cf |
connectivity factor (a numeric integer). |
mTD |
max value of TD (a numeric positive integer). |
mCD |
max value of CD (a numeric positive integer). |
mRD |
max value of RD (a numeric positive integer). |
w |
number of modes (a numeric integer). |
nR |
number of resources (a numeric integer). |
nW |
number of possible extra tasks (a positive numeric integer). |
scale |
scale parameter, the default value is 1.4 (a numeric value). |
QD |
logic parameter, the default value is FALSE, which means, the quality domain is neglected. |
lst |
(logic parameter, the default value is FALSE, which means, the output is a PDM matrix, while TRUE means the output is a PDM list including number of modes (w) and the number of resources (Rs). |
Value
PDM |
[PEM,TD, CD, <QD,RD>] is a Project Domain Matrix (a numeric matrix), where; |
PEM |
An N by N upper triangular matrix of logic domain (a numeric matrix). |
TD |
N by w matrix of task durations (a numeric matrix). |
CD |
N by w matrix of cost demands (a numeric matrix). |
QD |
N by w matrix of quality parameters (a numeric matrix, optional). |
RD |
N by w*nR matrix of resource demands (a numeric matrix, optional). |
w |
Number of completion modes (scalar, if the output is PDM list (lst=TRUE)). |
Rs |
Number of resources (scalar, if the output is PDM list (lst=TRUE)). |
Author(s)
Zsolt T. Kosztyan*, Aamir Saghir
e-mail: kzst@gtk.uni-pannon.hu
References
Kosztyán, Z. T. (2022). MFPP: Matrix-based flexible project planning. SoftwareX, 17, 100973.
See Also
tpc
, tpq
, tpt
, tpr
,maxscore_PEM
, generatepdm
.
Examples
# Generation of PDM matrix for flexible project planning MFPP package.
# Define number of modes, flexibility factor and connectivity factor of a project scenerio.
N=4;ff=0.05;cf=0
# Define maximum value of time domain, Cost domain and Resourcces domain of a project scenerio.
mTD=3;mCD=4;mRD=3
# Define number of modes, number of resources,
# number of possible extra tasks, scale and quality domain of a project scenerio.
w=2;nR=2;nW=2
scale=1.4 #(default value)
# Generation of PDM matrix for TCTP a project scenario using MFPP package.
generatepdm(N,ff,cf,mTD,mCD,mRD,w,nR,nW,scale=1.4)
# Generation of PDM list for TCTP a project scenario using MFPP package.
generatepdm(N,ff,cf,mTD,mCD,mRD,w,nR,nW,scale=1.4,QD=FALSE,lst=TRUE)
# Generation of PDM matrix for TQCTP a project scenario using MFPP package.
generatepdm(N,ff,cf,mTD,mCD,mRD,w,nR,nW,scale=1.4,QD=TRUE)
# Generation of PDM list for TQCTP a project scenario using MFPP package.
generatepdm(N,ff,cf,mTD,mCD,mRD,w,nR,nW,scale=1.4,QD=TRUE,lst=TRUE)
Function to calculate minimal/maximal/most likely project structures.
Description
Specify minimal, maximal, maximin, minimax, and most likely/most desired project structures.
Usage
get.structures(x,type=c("min","max","minimax","maximin","most"))
Arguments
x |
N by M PDM matrix or a PDM list. |
type |
type of specified project structure. "min" is a minimal strucuture, where the time, cost demands, and as well as the quality parameters are minimal; "max" where the time, cost demands, and as well as the quality parameters are maximal; "minimax", where the cost and resource demands are minimal; "maximix", where the cost and resource demands are maxnimal; "most", where the total project score is maximal. |
Value
PDMs |
set of PDM_matrix or a set of PDM_list (depending on the input type) |
Author(s)
Zsolt T. Kosztyan*, Aamir Saghir
e-mail: kzst@gtk.uni-pannon.hu
References
Kosztyán, Z. T. (2022). MFPP: Matrix-based flexible project planning. SoftwareX, 17, 100973.
See Also
Examples
# Generation of PDM matrix for flexible project planning MFPP package.
# Define number of modes, flexibility factor and connectivity factor of a project scenerio.
N=4;ff=0.05;cf=0
# Define maximum value of time domain, Cost domain and Resourcces domain of a project scenerio.
mTD=3;mCD=4;mRD=3
# Define number of modes, number of resources,
# number of possible extra tasks, scale and quality domain of a project scenerio.
w=2;nR=2;nW=2
scale=1.4 #(default value)
# Generation of PDM matrix for TCTP a project scenario using MFPP package.
PDM<-generatepdm(N,ff,cf,mTD,mCD,mRD,w,nR,nW,scale=1.4)
# Get main structures.
PDMs<-get.structures(PDM)
PDMs
# Generation of PDM list for TCTP a project scenario using MFPP package.
PDM<-generatepdm(N,ff,cf,mTD,mCD,mRD,w,nR,nW,scale=1.4,QD=FALSE,lst=TRUE)
# Get main structures.
PDMs<-get.structures(PDM)
PDMs
Function to check the flexibility of PDM matrix.
Description
Checking flexibility of PDM matrix or a PDM list.
Usage
is.flexible(x)
Arguments
x |
N by M PDM matrix or a PDM list. |
Value
is.flexible |
Boolean output whether the project is flexible or not. |
Author(s)
Zsolt T. Kosztyan*, Aamir Saghir
e-mail: kzst@gtk.uni-pannon.hu
References
Kosztyán, Z. T. (2022). MFPP: Matrix-based flexible project planning. SoftwareX, 17, 100973.
See Also
Examples
# Generation of PDM matrix for flexible project planning MFPP package.
# Define number of modes, flexibility factor and connectivity factor of a project scenerio.
N=4;ff=0.05;cf=0
# Define maximum value of time domain, Cost domain and Resourcces domain of a project scenerio.
mTD=3;mCD=4;mRD=3
# Define number of modes, number of resources,
# number of possible extra tasks, scale and quality domain of a project scenerio.
w=2;nR=2;nW=2
scale=1.4 #(default value)
# Generation of PDM matrix for TCTP a project scenario using MFPP package.
PDM<-generatepdm(N,ff,cf,mTD,mCD,mRD,w,nR,nW,scale=1.4)
# Flexibility check.
is.flexible(PDM)
# Flexibility check of rounded values.
is.flexible(round(PDM))
# Generation of PDM list for TCTP a project scenario using MFPP package.
PDM<-generatepdm(N,ff,cf,mTD,mCD,mRD,w,nR,nW,scale=1.4,QD=FALSE,lst=TRUE)
# Flexibility check.
is.flexible(PDM)
Function to calculate maximal score value (PMAX) of possible project scenarios.
Description
Calculate maximal score value (PMAX) of possible project scenarios.
Usage
maxscore_PEM(PEM, P=PEM, Q=1-PEM)
Arguments
PEM |
N by N upper triangular adjacency matrix of logic network (a numeric matrix). |
P |
N by N score matrix of task/dependency inclusion (a numeric matrix). The default P matrix is P=PEM |
Q |
N by N score matrix of task/dependency exclusion (a numeric matrix). The default Q matrix is Q=1-PEM |
Value
score |
The maximal score value of the project scenario (a scalar). |
Author(s)
Zsolt T. Kosztyan*, Aamir Saghir
e-mail: kzst@gtk.uni-pannon.hu
References
Kosztyán, Z. T. (2022). MFPP: Matrix-based flexible project planning. SoftwareX, 17, 100973.
See Also
Examples
# Calculatation of the maximal score value of the project scenario using MFPP package.
# Define a 3 by 3 upper triangular adjacency matrix (PEM) of logic domain of a project.
PEM <- rbind(c(0.8,0.4,0.8),
c(0.0,0.7,0.7),
c(0.0,0.0,0.4))
# Define a 3 by 3 score matrix of task/dependency inclusion.
P <- PEM
# Define a 3 by 3 score matrix of task/dependency exclusion.
Q <- 1-P
# Calculation of the maximal score value of the project using MFPP package.
maxscore_PEM(PEM,P, Q)
Function to calculate minimal score value of possible project scenarios.
Description
Calculate minimal score value (PMIN) of possible project scenarios.
Usage
minscore_PEM(PEM,P=PEM, Q=1-PEM)
Arguments
PEM |
An N by N upper triangular adjacency matrix of logic network (a numeric matrix). |
P |
N by N score matrix of task/dependency inclusion (a numeric matrix). The default P matrix is P=PEM |
Q |
N by N score matrix of task/dependency exclusion (a numeric matrix). The default Q matrix is Q=1-PEM |
Value
score |
minimal score value of a project (a numeric value). |
Author(s)
Zsolt T. Kosztyan*, Aamir Saghir
e-mail: kzst@gtk.uni-pannon.hu
References
Kosztyán, Z. T. (2022). MFPP: Matrix-based flexible project planning. SoftwareX, 17, 100973.
See Also
tpc
, tpq
, tpt
, tpr
,maxscore_PEM
, generatepdm
, phase3
, percent
.
Examples
# Calculation of minimal score value of a project scenarios using MFPP package.
# Define a 3 by 3 upper traingular logic domain of a project scenario.
PEM= matrix(c(0.8,0.4,0.8,
0.0,0.7,0.7,
0.0,0.0,0.4), ncol=3, byrow=TRUE)
# Define a score matrix of task/dependency inclusion.
P=PEM
# Define a score matrix of task/dependency exclusion.
Q=1-P
# Calculation of minimal score value for the above specification
# of a project scenario using MFPP package.
minscore_PEM(PEM,P,Q)
Calculate Pareto-optimal resource allocation
Description
Calculate Pareto-optimal resource allocation
Usage
paretores(DSM,TD,RD)
Arguments
DSM |
An N by N upper triangular adjacency matrix of logic network with fixed dependencies (a binary matrix). |
TD |
N by 1 matrix of task durations (a numeric matrix) |
RD |
N by r matrix of task resources, where the number of resources is r. |
Value
RD |
Pareto-optimal TPR (1 by r numeric vector)). |
SST |
Scheduled Start Time (N by N numeric matrix)). |
Author(s)
Zsolt T. Kosztyan*, Aamir Saghir
e-mail: kzst@gtk.uni-pannon.hu
References
Kosztyán, Z. T. (2022). MFPP: Matrix-based flexible project planning. SoftwareX, 17, 100973.
See Also
Examples
# Calculation of Pareto-optimal resource allocation using MFPP package.
# Define a 3 by 3 upper traingular logic domain of a project structure.
# Specification of Logic Domain
DSM<-matrix(c(1,1,0,1,0,0,
0,1,0,0,0,0,
0,0,1,1,0,0,
0,0,0,1,0,0,
0,0,0,0,0,0,
0,0,0,0,0,0),nrow=6, byrow=TRUE)
# Specification of Time Domain
TD<-matrix(c(2,
3,
1,
4,
0,
0),nrow=6, byrow=TRUE)
# Specification of Resource Domain
RD<-matrix(c(4,2,
3,2,
5,1,
6,4,
0,0,
0,0),nrow=6, byrow=TRUE)
RES<-paretores(DSM,TD,RD)
RES
# Verify results
tpr(RES$SST,DSM,TD,RD)
Function to calculate desired project completion characteristic of a project structure.
Description
Function to calculate project completion desired charcateristic type either cost, or quality and/or resources with or withoud quality parameters, or score ratio or time duration of a project scenario for the given ratio and completion modes.
Usage
percent(PDM,type=c("c","q","qd","r","s","t"),w=2,Rs=2,ratio=1)
Arguments
PDM |
is a Project Domain Matrix (a numeric matrix), where PDM=[LD,TD, CD, <QD,RD>]. LD is an N by N upper triangular matrix of logic domain (a numeric matrix); TD is an N by w matrix of task durations (a numeric matrix); CD is an N by w matrix of cost demands (a numeric matrix); QD is an optinal N by w matrix of quality parameters (a numeric optional matrix); RD is an N by w*nR matrix of resource demands (a numeric optional matrix). |
type |
Type to calculate the project completion characteristic either cost or quality with or without defined quality parameters, or resources with or without quality parameters, or minimum completion score or minimum task duration of a project scenario (a logical value). |
w |
Number of completion modes (a numeric integer). |
Rs |
Number of resources (a numeric integer). |
ratio |
ratio of desired characteristic of a project between interval [0,1] (a numeric value). |
Value
w |
Number of completion modes (a numeric integer). |
Rs |
Number of resources (a numeric integer). |
ratio |
ratio of desired characteristic of a project between interval [0,1] (a numeric value). |
Cc |
Project completion cost (a numeric value). |
Cq |
Project completion quality when quality parameters are not considered (a numeric value). |
Cq |
Project completion quality when quality parameters are considered (a numeric value). |
CR |
Minimum resources for the completion when quality parameters are not considered (a numeric value). |
CR |
Minimum resources for the completion when quality parameters are considered (a numeric value). |
Cs |
Minimum completion score ratio of a project (a numeric value). |
Ct |
Minimum task duration to project a project (a numeric value). |
Author(s)
Zsolt T. Kosztyan*, Aamir Saghir
e-mail: kzst@gtk.uni-pannon.hu
References
Kosztyán, Z. T. (2022). MFPP: Matrix-based flexible project planning. SoftwareX, 17, 100973.
See Also
tpc
, tpq
, tpt
, tpr
,maxscore_PEM
, generatepdm
.
Examples
## Examples for verification
w<-2 # Number of completion modes
Rs<-2 # Number of resources
ratio<-1.0 # Percentage 0-1
# Specification of Logic Domain
LD<-matrix(c(1,1,0,1,0,0,
0,0.8415,0,0,0,0,
0,0,1,1,0,0,
0,0,0,0.6478,0,0,
0,0,0,0,0,0,
0,0,0,0,0,0),nrow=6, byrow=TRUE)
# Specification of Time Domain
TD<-matrix(c(1.9755,2.3408,
2.6564,2.7002,
0.9018,1.1077,
1.0237,1.2117,
0,0,
0,0),nrow=6, byrow=TRUE)
# Specification of Cost Domain
CD<-matrix(c(2.0768,2.3008,
0.4819,0.5279,
3.4315,3.7682,
3.5902,3.8245,
0,0,
0,0),nrow=6, byrow=TRUE)
# Specification of Cost Domain
QD<-matrix(c(0.8723,0.9102,
0.9017,0.8215,
0.7250,0.9911,
1.0000,0.8245,
0,0,
0,0),nrow=6, byrow=TRUE)
# Specification of Resource Domain
RD<-matrix(c(2.2130,2.4636,1.7948,2.0603,
1.9709,2.1952,0.8216,0.8890,
1.6255,1.9432,1.8715,2.2341,
1.1377,1.3528,1.6768,1.8769,
0,0,0,0,
0,0,0,0),nrow=6, byrow=TRUE)
# PDM without QD
PDM<-cbind(LD,TD,CD,RD)
# Percentiles without QD
CONST<-percent(PDM,type=c("c","r","s","t"),w,Rs,ratio)
CONST
# PDM with QD
PDM<-cbind(LD,TD,CD,QD,RD)
# Percentiles with QD
CONST<-percent(PDM,type=c("c","q","r","s","t"),w,Rs,ratio)
CONST
Function to simulate estimation uncertainty.
Description
Simulating the effects of the estimation uncertainty.
Usage
phase1(x,a=-0.1,b=0.30,pdftype="uniform")
Arguments
x |
is either a Project Domain Matrix (a numeric matrix), where PDM=[LD,TD, CD, <QD,RD>]. LD is an N by N upper triangular matrix of logic domain (a numeric matrix); TD is an N by w matrix of task durations (a numeric matrix); CD is an N by w matrix of cost demands (a numeric matrix); QD is an optinal N by w matrix of quality parameters (a numeric optional matrix); RD is an N by w*nR matrix of resource demands (a numeric optional matrix), or PDM list, which contain a PDM matrix, and the number of completion modes (w) and the number of resources. |
a |
optimistic duration, the negative percent deviation from the actual duration (a negative value). The default value is a=-0.1, which means if the actual duration is 1, the minimal possible duration is 0.9. |
b |
pessimistic duration, the positive percent deviation from the actual duration (a positive value). The default value is b=0.3, which means if the actual duration is 1, the maximal possible duration is 1.3. |
pdftype |
the pdftype is either 'uniform' or 'beta' (the default value is 'uniform'), which means the generated distribution either follows uniform or a beta distribution betweem interval [a,b] |
Details
The changed demands are generated by the interval between [o+a,o+b], where o is the original value. The random generator can follow uniform (=default), or beta distribution.
Value
PDMout |
PDM matrix with same structure as the input PDM matrix (a matrix). |
Author(s)
Zsolt T. Kosztyan*, Aamir Saghir
e-mail: kzst@gtk.uni-pannon.hu
References
Kosztyán, Z. T. (2022). MFPP: Matrix-based flexible project planning. SoftwareX, 17, 100973.
See Also
tpc
, tpq
, tpt
, tpr
,maxscore_PEM
,phase2
,phase3
, generatepdm
.
Examples
# Simulation of project domain matrix based on customer claims
# of a project scenario using MFPP package.
# Generate a project domain matrix based on
# logic domain, task duration, cost demans,
# quality parameters (optional), resource demand (optional) of a project.
PDM=generatepdm(30,0.05,0,20,30,20,2,2,2,QD=TRUE,lst=TRUE)
PDM
# Define negative percentage deviation from actual duration.
a=-0.20
# Define negative percentage deviation from actual duration.
b=0.40
# Simulate the effects of estimation uncertainty of a project scenario using MFPP package
# with default values.
Res<-phase1(PDM)
summary(Res)
# Simulate the estimation uncertainty of customer claims of a project scenario using MFPP package
# with specified values.
Res<-phase1(PDM$PDM,a,b,"beta")
summary(Res,w=2,Rs=2)
Function to simulate shock effects.
Description
Phase 2 simulates the shock effects. Where p percent of task demands can be increased up to s times.
Usage
phase2 (x,p=0.10, s=5.0)
Arguments
x |
is either a Project Domain Matrix (a numeric matrix), where PDM=[LD,TD, CD, <QD,RD>]. LD is an N by N upper triangular matrix of logic domain (a numeric matrix); TD is an N by w matrix of task durations (a numeric matrix); CD is an N by w matrix of cost demands (a numeric matrix); QD is an optinal N by w matrix of quality parameters (a numeric optional matrix); RD is an N by w*nR matrix of resource demands (a numeric optional matrix), or PDM list, which contain a PDM matrix, and the number of completion modes (w) and the number of resources. |
p |
Probability factor for task selection (a numeric value between 0 and 1). The default value is p=1.00 |
s |
Scale factor: the ratio of the modification (a numeric integer). The default value is s=5.0 |
Value
PDMout |
PDM matrix with same structure as the input PDM matrix (a matrix). |
Author(s)
Zsolt T. Kosztyan*, Aamir Saghir
e-mail: kzst@gtk.uni-pannon.hu
References
Kosztyán, Z. T. (2022). MFPP: Matrix-based flexible project planning. SoftwareX, 17, 100973.
See Also
tpc
, tpq
, tpt
, tpr
,maxscore_PEM
,phase1
,phase3
, generatepdm
.
Examples
# Simulation of project domain matrix based on customer claims
# of a project scenario using MFPP package.
# Generate a project domain matrix based on
# logic domain, task duration, cost demans,
# quality parameters (optional), resource demand (optional) of a project.
PDM=generatepdm(30,0.05,0,20,30,20,2,2,2,QD=TRUE,lst=TRUE)
PDM
# Define probability factor for task selection of a project.
p=0.10
# Choose a scale factor for the ration of modification.
s=5.0
# Simulate the shock effect of a project scenario using MFPP package
# with default values.
Res<-phase2(PDM)
summary(Res)
# Simulate the effect of a project scenario using MFPP package
# with specified values.
Res<-phase2(PDM$PDM,p,s)
summary(Res,w=2,Rs=2)
Function to simulate the effects of the change of customer claims.
Description
Phase 3 selects P percent of nodes (i.e. tasks) or arcs (i.e. dependencies), where the score value can be changed up to the maximal change effects.
Usage
phase3 (x,p=0.10, s=0.50, nW=0)
Arguments
x |
is either a Project Domain Matrix (a numeric matrix), where PDM=[LD,TD, CD, <QD,RD>]. LD is an N by N upper triangular matrix of logic domain (a numeric matrix); TD is an N by w matrix of task durations (a numeric matrix); CD is an N by w matrix of cost demands (a numeric matrix); QD is an optinal N by w matrix of quality parameters (a numeric optional matrix); RD is an N by w*nR matrix of resource demands (a numeric optional matrix), or PDM list, which contain a PDM matrix, and the number of completion modes (w) and the number of resources. |
p |
Probability of structural change (default value is p=0.10). |
s |
Increase/decrease ratio of priorities (default value is s=0.50). |
nW |
Number of unplanned tasks (default value is nW=0). |
Value
PDMout |
PDM matrix with same structure as the input PDM matrix (a matrix). |
Author(s)
Zsolt T. Kosztyan*, Aamir Saghir
e-mail: kzst@gtk.uni-pannon.hu
References
Kosztyán, Z. T. (2022). MFPP: Matrix-based flexible project planning. SoftwareX, 17, 100973.
See Also
tpc
, tpq
, tpt
, tpr
,phase1
,phase2
,maxscore_PEM
, generatepdm
.
Examples
# Simulation of project domain matrix based on customer claims
# of a project scenario using MFPP package.
# Generate a project domain matrix based on
# logic domain, task duration, cost demans,
# quality parameters (optional), resource demand (optional) of a project.
PDM=generatepdm(30,0.05,0,20,30,20,2,2,2,QD=TRUE,lst=TRUE)
PDM
# Define probability factor for task selection and dependency selecton of a project.
p=0.10
# Choose a scale factor for the ration of modification.
s=0.10
# Simulate the effects of change of customer claims of a project scenario using MFPP package
# with default values.
Res<-phase3(PDM)
summary(Res)
# Simulate the effects of change of customer claims of a project scenario using MFPP package
# with specified values.
Res<-phase3(PDM$PDM,p,s,nW=2)
summary(Res,w=2,Rs=2)
Plot function for Matrix-Based Flexible Project Planning
Description
Plot function for the Package of Matrix-Based Flexible Project Planning (mfpp)
Usage
## S3 method for class 'PDM_matrix'
plot(x,w=NULL,Rs=NULL,
type=c("orig","max","min","maximin","minimax","most","const"),
main=NULL,col=NULL,...)
## S3 method for class 'PDM_list'
plot(x,
type=c("orig","max","min","maximin","minimax","most","const"),
main=NULL,col=NULL, ...)
## S3 method for class 'Set_PDM_matrix'
plot(x,w=NULL,Rs=NULL,
type=c("orig","max","min","maximin","minimax","most","const"),col=NULL, ...)
## S3 method for class 'Set_PDM_list'
plot(x,
type=c("orig","max","min","maximin","minimax","most","const"),col=NULL, ...)
## S3 method for class 'TPT'
plot(x,
sched="E", ...)
Arguments
x |
an object of class 'PDM_matrix' or 'PDM_list'. |
w |
number of completion modes (positive integer) |
Rs |
number of resources (positive integer) |
type |
set of plots, where (orig) means original, (min) minimal, (max) maximal, (maximin) maximin, (minimax) minimax structures are plotted, respectively, and as well as the minimal/maximal constraints (const) |
sched |
character starts are calculated either "E" to early, or "L" to late, or "S" to scheduled start time |
main |
title of the plot of fixed structure |
col |
color of barplot |
... |
other graphical parameters. |
Value
No return value, called for side effects
Author(s)
Zsolt T. Kosztyan*, Aamir Saghir
e-mail: kzst@gtk.uni-pannon.hu
References
Kosztyán, Z. T. (2022). MFPP: Matrix-based flexible project planning. SoftwareX, 17, 100973.
See Also
summary
, generatepdm
, percent
.
Examples
# Plot PDM lists.
# Define number of modes, flexibility factor and connectivity factor of a project scenerio.
N=4;ff=0.3;cf=0
# Define maximum value of time domain, Cost domain and Resourcces domain of a project scenerio.
mTD=3;mCD=4;mRD=3
# Define number of modes, number of resources,
# number of possible extra tasks, scale and quality domain of a project scenerio.
w=2;nR=2;nW=2
scale=1.6
# Generation of PDM list for TCTP a project scenario using MFPP package.
PDM<-generatepdm(N,ff,cf,mTD,mCD,mRD,w,nR,nW,scale,lst=TRUE)
plot(PDM)
Print PDM constraints, matrices, lists, sets, collections.
Description
Print PDM constraints, matrices, lists, sets, collections.
Usage
## S3 method for class 'PDM_const'
summary(object, digits = getOption("digits"), ...)
## S3 method for class 'PDM_matrix'
summary(object, digits = getOption("digits"),w=getOption("w"),Rs=getOption("Rs"), ...)
## S3 method for class 'PDM_list'
summary(object, digits = getOption("digits"), ...)
## S3 method for class 'Set_PDM_matrix'
summary(object, digits = getOption("digits"),w=getOption("w"),Rs=getOption("Rs"), ...)
## S3 method for class 'Set_PDM_list'
summary(object, digits = getOption("digits"), ...)
## S3 method for class 'Collection_PDM'
summary(object, digits = getOption("digits"), ...)
## S3 method for class 'TPT'
summary(object, digits = getOption("digits"), ...)
Arguments
object |
an object of class 'PDM_const', 'PDM_matrix', 'PDM_list', 'Set_PDM_matrix', or 'Set_PDM_list'. |
digits |
the number of significant digits to use when |
w |
number of completion modes (positive integer) |
Rs |
number of resources (positive integer) |
... |
additional arguments affecting the print produced. |
Value
No return value, called for side effects
Author(s)
Zsolt T. Kosztyan*, Aamir Saghir
e-mail: kzst@gtk.uni-pannon.hu
References
Kosztyán, Z. T. (2022). MFPP: Matrix-based flexible project planning. SoftwareX, 17, 100973.
See Also
generatepdm
,get.structures
, percent
,plot
.
Examples
# Print PDM constriants, matrices, lists, and sets.
# Define number of modes, flexibility factor and connectivity factor of a project scenerio.
N=4;ff=0.05;cf=0
# Define maximum value of time domain, Cost domain and Resourcces domain of a project scenerio.
mTD=3;mCD=4;mRD=3
# Define number of modes, number of resources,
# number of possible extra tasks, scale and quality domain of a project scenerio.
w=2;nR=2;nW=2
scale=1.4 #(default value)
# Generation of PDM list for TCTP a project scenario using MFPP package.
PDM<-generatepdm(N,ff,cf,mTD,mCD,mRD,w,nR,nW,scale=1.4,lst=TRUE)
# Generate PDM maximal constraints (ratio=1.0)
CONST<-percent(PDM)
# Calculate main structures
PDMs<-get.structures(PDM)
# print of PDM constraint
summary(CONST)
# print of PDM list
summary(PDM)
# print of main structures of PDM matrices
summary(PDMs)
# print of PDM collection
data(Boctor)
collection<-Boctor
summary(collection)
# schedule table of the first completion mode of the first project structure
# get the first project structure
PDM<-collection[[1]]$PDM_list$PDM
# get the logic domain
LD<-PDM[1:nrow(PDM),1:nrow(PDM)]
# get the time demands of the first completion mode
TD<-PDM[1:nrow(PDM),nrow(PDM)+1]
# calculate TPT
TPT<-tpt(LD,TD)
# print schedule table
summary(TPT)
Function of Cost demands of a project.
Description
Calculate cost demands of a project structure.
Usage
tpc(DSM,CD)
Arguments
DSM |
N by N Upper triangular binary matrix of logic domain (a numeric matrix). |
CD |
N by 1 vector of cost demands (a numeric vector). |
Value
TPC |
Total Project Cost (a scalar). |
Author(s)
Zsolt T. Kosztyan*, Aamir Saghir
e-mail: kzst@gtk.uni-pannon.hu
References
Kosztyán, Z. T. (2022). MFPP: Matrix-based flexible project planning. SoftwareX, 17, 100973.
See Also
tpc
, tpt
, tpq
, tpr
, maxscore_PEM
.
Examples
# Calculation of TPC for a generated project scenario.
# using MFPP package.
# Generation of 10 by 10 Upper triangular binary matrix (DSM) of logic domain.
library(Matrix)
library(pracma)
DSM<-triu(round(rand(10)*.5+.5)) # Generate DSM
# Generation of 10 by 1 cost vector (cost demands 30)
C<-rand(10,1)*30 # Generate C vector (cost demands)
# Calculation of total project cost using MFPP package.
TPC<-tpc(DSM,C) # Calculate TPC
Function to calcualte Total Project Quality for a project structure.
Description
Calculate Total Project Quality of a project structure.
Usage
tpq (DSM,PEM,q,QD=NULL)
Arguments
DSM |
N by N Upper triangular binary matrix of logic domain (a project structure of a PEM matrix)(a numeric matrix). |
PEM |
N by N Upper triangular binary matrix of logic domain (a numeric matrix). |
q |
N by 1 vector of quality parameters (a numeric vector). |
QD |
N by w Quality Domain to calculate relative TPQ. The default value is QD=NULL |
Value
TPQ |
Total Project Quality (a scalar). |
Author(s)
Zsolt T. Kosztyan, Aamir Saghir*
e-mail: kzst@gtk.uni-pannon.hu
References
Kosztyán, Z. T. (2022). MFPP: Matrix-based flexible project planning. SoftwareX, 17, 100973.
See Also
tpc
, tpr
, tpt
, maxscore_PEM
.
Examples
# Calculatation of total project quality of a project using MFPP package.
library(pracma)
# Generation of a 10 by 10 upper triangular binary matrix (PEM) of logic domain of a project.
PEM <- triu(rand(10)*0.5+0.5)
# Generation of a 10 by 10 Upper triangular binary matrix of logic domain
# (a project structureof a PEM matrix).
DSM <- round(PEM)
# Generation of a 10 by 1 vector of quality parameters of a project.
q <- rand(10,1)
# For fixed project plan the TPQ is the geometric mean of quality parameters
tpq(DSM,DSM,q)
# For flexibility project plan the TPQ
# is the weighted geometric mean of
# quality parameters
tpq(DSM,PEM, q)
QD2<-cbind(q,rand(10,1)) # Generate two completion modes
# Calculate relative quality considering the best choice
tpq(DSM,PEM,q,QD2)
Function to calculate maximum resource demands of a project.
Description
Calculate maximum resource demands of a project scenario.
Usage
tpr (SST,DSM,TD, RD,res.graph=FALSE)
Arguments
SST |
N by 1 vector of Scheduled Start Time (a numeric vector). |
DSM |
N by N binary upper triangular matrix of the logic domain (a numeric matrix). |
TD |
N by 1 vector of task durations (a numeric vector). |
RD |
N by nR matrix of resource demands (a numeric matrix). |
res.graph |
Logic value of whether plot or not the resource graph |
Value
rMAX |
an nR by 1 vector of maximum resource demands (a scalar vector). |
Author(s)
Zsolt T. Kosztyan*, Aamir Saghir
e-mail: kzst@gtk.uni-pannon.hu
References
Kosztyán, Z. T. (2022). MFPP: Matrix-based flexible project planning. SoftwareX, 17, 100973.
See Also
tpc
, tpq
, tpt
, maxscore_PEM
.
Examples
# Calculatation of maximum resource demands of a project scenario using MFPP package.
library(pracma)
# Generate a 10 by 10 upper triangular binary matrix (DSM) of logic domain of a project.
DSM <- triu(round(rand(10)))
# Generate a 10 by 1 vector of task durations of a project.
TD <- rand(10,1)*20
# Define a 10 by 1 vector of Scheduled Start Time using tpt function.
SST <- tpt(DSM,TD)[["EST"]]
# Generate a 10 by 3 matrix of resource demands of a project.
RD <- rand(10,3)*5
# Calculation of maximum resource demands of a project using MFPP package.
tpr(SST,DSM,TD, RD)
## Plot resources for SST
tpr(SST,DSM,TD,RD,res.graph = TRUE)
Function to evaluate EST, EFT, LST and LFT times of activity of a project.
Description
Calculate EST, EFT, LST and LFT times of activity of a project.
Usage
tpt(DSM,TD,SST=NULL)
Arguments
DSM |
N by N Upper triangular binary matrix of logic domain (a numeric matrix). |
TD |
N by 1 vector of time duration (a numeric vector). |
SST |
N by 1 vector of scheduled start time (a numeric vector). |
Value
TPT |
Total Project Time (a scalar). |
EST |
Early Start Time (a vector). |
EFT |
Early Finish Time (a vector). |
LST |
Latest Start Time (a vector). |
LFT |
Latest Finish Time (a vector). |
SST |
Scheduled Start Time (a vector). |
SFT |
Scheduled Finish Time (a vector). |
Author(s)
Zsolt T. Kosztyan*, Aamir Saghir
e-mail: kzst@gtk.uni-pannon.hu
References
Kosztyán, Z. T. (2022). MFPP: Matrix-based flexible project planning. SoftwareX, 17, 100973.
See Also
tpc
, tpq
, tpr
, maxscore_PEM
.
Examples
# Calculatation of EST, EFT, LST and LFT times of activity of a project
# Define a 3 by 3 upper triangular binary matrix (DSM) of logic domain (LD) of a project.
# Specify sequence of three tasks
# Diagonal values indicates the priority of tasks
# 1=the task is mandatory
LD<-rbind(c(1,1,0), c(0,1,1), c(0,0,1))
# Define a 3 by 1 vector of time durations of a project, where the durations are 3,4,5 respectively.
TD<-c(3,4,5)
# Calculate project duration (total project time, TPT)
TPT<-tpt(LD,TD)
summary(TPT)
# Specify initial scheduled start time, where the delay is 1 for the .
SST <- c(1,0,0)
# Including scheduled starts and finishes.
TPT<-tpt(LD,TD,SST)
# Print schedule table
summary(TPT)
# Plot the scheduled Gantt chart
plot(TPT,sched="S")
Function to drop excluded tasks.
Description
Drop excluded tasks, where the diagonal value is 0.
Usage
truncpdm(x)
Arguments
x |
N by M PDM matrix or a PDM list. |
Value
PDM |
N by M PDM matrix or a PDM list |
Author(s)
Zsolt T. Kosztyan*, Aamir Saghir
e-mail: kzst@gtk.uni-pannon.hu
References
Kosztyán, Z. T. (2022). MFPP: Matrix-based flexible project planning. SoftwareX, 17, 100973.
See Also
Examples
# Generation of PDM matrix for flexible project planning MFPP package.
# Define number of modes, flexibility factor and connectivity factor of a project scenerio.
N=4;ff=0.05;cf=0
# Define maximum value of time domain, Cost domain and Resourcces domain of a project scenerio.
mTD=3;mCD=4;mRD=3
# Define number of modes, number of resources,
# number of possible extra tasks, scale and quality domain of a project scenerio.
w=2;nR=2;nW=2
scale=1.4 #(default value)
# Generation of PDM matrix for TCTP a project scenario using MFPP package.
PDM<-generatepdm(N,ff,cf,mTD,mCD,mRD,w,nR,nW,scale=1.4)
# Drop excluded tasks.
PDM<-truncpdm(PDM)
# Generation of PDM list for TCTP a project scenario using MFPP package.
PDM<-generatepdm(N,ff,cf,mTD,mCD,mRD,w,nR,nW,scale=1.4,QD=FALSE,lst=TRUE)
# Drop excluded tasks.
PDM<-truncpdm(PDM)