{MFPP(R). An R package for matrix-based flexible project planning

preprint OA: closed
Full text JSON View at publisher
Full text 197,802 characters · extracted from preprint-html · click to expand
{MFPP(R). An R package for matrix-based flexible... | F1000Research "use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){var t=function(){var t,e,o=[],n=window,r=n;for(;r;){try{if(r.frames.__tcfapiLocator){t=r;break}}catch(t){}if(r===n.top)break;r=r.parent}t||(!function t(){var e=n.document,o=!!n.frames.__tcfapiLocator;if(!o)if(e.body){var r=e.createElement("iframe");r.style.cssText="display:none",r.name="__tcfapiLocator",e.body.appendChild(r)}else setTimeout(t,5);return!o}(),n.__tcfapi=function(){for(var t=arguments.length,n=new Array(t),r=0;r 3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(e=n[3],"function"==typeof n[2]&&n[2]("set",!0)):"ping"===n[0]?"function"==typeof n[2]&&n[2]({gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"}):o.push(n)},n.addEventListener("message",(function(t){var e="string"==typeof t.data,o={};if(e)try{o=JSON.parse(t.data)}catch(t){}else o=t.data;var n="object"===_typeof(o)&&null!==o?o.__tcfapiCall:null;n&&window.__tcfapi(n.command,n.version,(function(o,r){var a={__tcfapiReturn:{returnValue:o,success:r,callId:n.callId}};t&&t.source&&t.source.postMessage&&t.source.postMessage(e?JSON.stringify(a):a,"*")}),n.parameter)}),!1))};"undefined"!=typeof module?module.exports=t:t()}(); dataLayer = dataLayer || []; // Standard GTM initialization - Google Consent Mode handles consent automatically (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl+ '>m_auth=hzk0Vc3qFsQYhCrIoHz68A>m_preview=env-1>m_cookies_win=x';f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MWFK8L5J'); ;window.NREUM||(NREUM={});NREUM.init={distributed_tracing:{enabled:true},privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]}}; ;NREUM.loader_config={accountID:"438030",trustKey:"438030",agentID:"772317073",licenseKey:"97f8f67f26",applicationID:"772317073"} ;NREUM.info={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",licenseKey:"97f8f67f26",applicationID:"772317073",sa:1} ;/*! For license information please see nr-loader-spa-1.236.0.min.js.LICENSE.txt */ (()=>{"use strict";var e,t,r={5763:(e,t,r)=>{r.d(t,{P_:()=>l,Mt:()=>g,C5:()=>s,DL:()=>v,OP:()=>T,lF:()=>D,Yu:()=>y,Dg:()=>h,CX:()=>c,GE:()=>b,sU:()=>_});var n=r(8632),i=r(9567);const o={beacon:n.ce.beacon,errorBeacon:n.ce.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.D)(t,o),(0,n.Qy)(e,a[e],"info")}var u=r(7056);const d=()=>{const e={blockSelector:"[data-nr-block]",maskInputOptions:{password:!0}};return{allow_bfcache:!0,privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,enabled:!0,harvestTimeSeconds:10},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},session:{domain:void 0,expiresMs:u.oD,inactiveMs:u.Hb},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10},metrics:{enabled:!0},page_action:{enabled:!0,harvestTimeSeconds:30},page_view_event:{enabled:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,long_task:!1},session_trace:{enabled:!0,harvestTimeSeconds:10},harvest:{tooManyRequestsDelay:60},session_replay:{enabled:!1,harvestTimeSeconds:60,sampleRate:.1,errorSampleRate:.1,maskTextSelector:"*",maskAllInputs:!0,get blockClass(){return"nr-block"},get ignoreClass(){return"nr-ignore"},get maskTextClass(){return"nr-mask"},get blockSelector(){return e.blockSelector},set blockSelector(t){e.blockSelector+=",".concat(t)},get maskInputOptions(){return e.maskInputOptions},set maskInputOptions(t){e.maskInputOptions={...t,password:!0}}},spa:{enabled:!0,harvestTimeSeconds:10}}},f={};function l(e){if(!e)throw new Error("All configuration objects require an agent identifier!");if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function h(e,t){if(!e)throw new Error("All configuration objects require an agent identifier!");f[e]=(0,i.D)(t,d()),(0,n.Qy)(e,f[e],"config")}function g(e,t){if(!e)throw new Error("All configuration objects require an agent identifier!");var r=l(e);if(r){for(var n=t.split("."),i=0;i {r.d(t,{D:()=>i});var n=r(50);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.Z)("Setting a Configurable requires an object as input");if(!t||"object"!=typeof t)return(0,n.Z)("Setting a Configurable requires a model to set its initial properties");const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.Z)("An error occurred while setting a property of a Configurable",e)}return r}catch(e){(0,n.Z)("An error occured while setting a Configurable",e)}}},6818:(e,t,r)=>{r.d(t,{Re:()=>i,gF:()=>o,q4:()=>n});const n="1.236.0",i="PROD",o="CDN"},385:(e,t,r)=>{r.d(t,{FN:()=>a,IF:()=>u,Nk:()=>f,Tt:()=>s,_A:()=>o,il:()=>n,pL:()=>c,v6:()=>i,w1:()=>d});const n="undefined"!=typeof window&&!!window.document,i="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=n?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),a=""+o?.location,s=/iPad|iPhone|iPod/.test(navigator.userAgent),c=s&&"undefined"==typeof SharedWorker,u=(()=>{const e=navigator.userAgent.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),d=Boolean(n&&window.document.documentMode),f=!!navigator.sendBeacon},1117:(e,t,r)=>{r.d(t,{w:()=>o});var n=r(50);const i={agentIdentifier:"",ee:void 0};class o{constructor(e){try{if("object"!=typeof e)return(0,n.Z)("shared context requires an object as input");this.sharedContext={},Object.assign(this.sharedContext,i),Object.entries(e).forEach((e=>{let[t,r]=e;Object.keys(i).includes(t)&&(this.sharedContext[t]=r)}))}catch(e){(0,n.Z)("An error occured while setting SharedContext",e)}}}},8e3:(e,t,r)=>{r.d(t,{L:()=>d,R:()=>c});var n=r(2177),i=r(1284),o=r(4322),a=r(3325);const s={};function c(e,t){const r={staged:!1,priority:a.p[t]||0};u(e),s[e].get(t)||s[e].set(t,r)}function u(e){e&&(s[e]||(s[e]=new Map))}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"feature";if(u(e),!e||!s[e].get(t))return a(t);s[e].get(t).staged=!0;const r=[...s[e]];function a(t){const r=e?n.ee.get(e):n.ee,a=o.X.handlers;if(r.backlog&&a){var s=r.backlog[t],c=a[t];if(c){for(var u=0;s&&u {let[t,r]=e;return r.staged}))&&(r.sort(((e,t)=>e[1].priority-t[1].priority)),r.forEach((e=>{let[t]=e;a(t)})))}function f(e,t){var r=e[1];(0,i.D)(t[r],(function(t,r){var n=e[0];if(r[0]===n){var i=r[1],o=e[3],a=e[2];i.apply(o,a)}}))}},2177:(e,t,r)=>{r.d(t,{c:()=>f,ee:()=>u});var n=r(8632),i=r(2210),o=r(1284),a=r(5763),s="nr@context";let c=(0,n.fP)();var u;function d(){}function f(e){return(0,i.X)(e,s,l)}function l(){return new d}function h(){u.aborted=!0,u.backlog={}}c.ee?u=c.ee:(u=function e(t,r){var n={},c={},f={},g=!1;try{g=16===r.length&&(0,a.OP)(r).isolatedBacklog}catch(e){}var p={on:b,addEventListener:b,removeEventListener:y,emit:v,get:x,listeners:w,context:m,buffer:A,abort:h,aborted:!1,isBuffering:E,debugId:r,backlog:g?{}:t&&"object"==typeof t.backlog?t.backlog:{}};return p;function m(e){return e&&e instanceof d?e:e?(0,i.X)(e,s,l):l()}function v(e,r,n,i,o){if(!1!==o&&(o=!0),!u.aborted||i){t&&o&&t.emit(e,r,n);for(var a=m(n),s=w(e),d=s.length,f=0;fn,p:()=>i});var n=r(2177).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},4322:(e,t,r)=>{r.d(t,{X:()=>o});var n=r(5546);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.E,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.E);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3239:(e,t,r)=>{r.d(t,{bP:()=>s,iz:()=>c,m$:()=>a});var n=r(385);let i=!1,o=!1;try{const e={get passive(){return i=!0,!1},get signal(){return o=!0,!1}};n._A.addEventListener("test",null,e),n._A.removeEventListener("test",null,e)}catch(e){}function a(e,t){return i||o?{capture:!!e,passive:i,signal:t}:!!e}function s(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;window.addEventListener(e,t,a(r,n))}function c(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;document.addEventListener(e,t,a(r,n))}},4402:(e,t,r)=>{r.d(t,{Ht:()=>u,M:()=>c,Rl:()=>a,ky:()=>s});var n=r(385);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n._A?.crypto||n._A?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(31))),i.split("").map((e=>"x"===e?o(t,++r).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n._A?.crypto||n._A?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(31)));const a=[];for(var s=0;s {r.d(t,{Bq:()=>n,Hb:()=>o,oD:()=>i});const n="NRBA",i=144e5,o=18e5},7894:(e,t,r)=>{function n(){return Math.round(performance.now())}r.d(t,{z:()=>n})},7243:(e,t,r)=>{r.d(t,{e:()=>o});var n=r(385),i={};function o(e){if(e in i)return i[e];if(0===(e||"").indexOf("data:"))return{protocol:"data"};let t;var r=n._A?.location,o={};if(n.il)t=document.createElement("a"),t.href=e;else try{t=new URL(e,r.href)}catch(e){return o}o.port=t.port;var a=t.href.split("://");!o.port&&a[1]&&(o.port=a[1].split("/")[0].split("@").pop().split(":")[1]),o.port&&"0"!==o.port||(o.port="https"===a[0]?"443":"80"),o.hostname=t.hostname||r.hostname,o.pathname=t.pathname,o.protocol=a[0],"/"!==o.pathname.charAt(0)&&(o.pathname="/"+o.pathname);var s=!t.protocol||":"===t.protocol||t.protocol===r.protocol,c=t.hostname===r.hostname&&t.port===r.port;return o.sameOrigin=s&&(!t.hostname||c),"/"===o.pathname&&(i[e]=o),o}},50:(e,t,r)=>{function n(e,t){"function"==typeof console.warn&&(console.warn("New Relic: ".concat(e)),t&&console.warn(t))}r.d(t,{Z:()=>n})},2587:(e,t,r)=>{r.d(t,{N:()=>c,T:()=>u});var n=r(2177),i=r(5546),o=r(8e3),a=r(3325);const s={stn:[a.D.sessionTrace],err:[a.D.jserrors,a.D.metrics],ins:[a.D.pageAction],spa:[a.D.spa],sr:[a.D.sessionReplay,a.D.sessionTrace]};function c(e,t){const r=n.ee.get(t);e&&"object"==typeof e&&(Object.entries(e).forEach((e=>{let[t,n]=e;void 0===u[t]&&(s[t]?s[t].forEach((e=>{n?(0,i.p)("feat-"+t,[],void 0,e,r):(0,i.p)("block-"+t,[],void 0,e,r),(0,i.p)("rumresp-"+t,[Boolean(n)],void 0,e,r)})):n&&(0,i.p)("feat-"+t,[],void 0,void 0,r),u[t]=Boolean(n))})),Object.keys(s).forEach((e=>{void 0===u[e]&&(s[e]?.forEach((t=>(0,i.p)("rumresp-"+e,[!1],void 0,t,r))),u[e]=!1)})),(0,o.L)(t,a.D.pageViewEvent))}const u={}},2210:(e,t,r)=>{r.d(t,{X:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},1284:(e,t,r)=>{r.d(t,{D:()=>n});const n=(e,t)=>Object.entries(e||{}).map((e=>{let[r,n]=e;return t(r,n)}))},4351:(e,t,r)=>{r.d(t,{P:()=>o});var n=r(2177);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}}}},3960:(e,t,r)=>{r.d(t,{K:()=>a,b:()=>o});var n=r(3239);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.bP)("load",e,t)}function a(e){if(i())return e();(0,n.iz)("DOMContentLoaded",e)}},8632:(e,t,r)=>{r.d(t,{EZ:()=>u,Qy:()=>c,ce:()=>o,fP:()=>a,gG:()=>d,mF:()=>s});var n=r(7894),i=r(385);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return i._A.NREUM||(i._A.NREUM={}),void 0===i._A.newrelic&&(i._A.newrelic=i._A.NREUM),i._A.NREUM}function s(){let e=a();return e.o||(e.o={ST:i._A.setTimeout,SI:i._A.setImmediate,CT:i._A.clearTimeout,XHR:i._A.XMLHttpRequest,REQ:i._A.Request,EV:i._A.Event,PR:i._A.Promise,MO:i._A.MutationObserver,FETCH:i._A.fetch}),e}function c(e,t,r){let i=a();const o=i.initializedAgents||{},s=o[e]||{};return Object.keys(s).length||(s.initializedAt={ms:(0,n.z)(),date:new Date}),i.initializedAgents={...o,[e]:{...s,[r]:t}},i}function u(e,t){a()[e]=t}function d(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},7956:(e,t,r)=>{r.d(t,{N:()=>i});var n=r(3239);function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;return void(0,n.iz)("visibilitychange",(function(){if(t)return void("hidden"==document.visibilityState&&e());e(document.visibilityState)}),r,i)}},1214:(e,t,r)=>{r.d(t,{em:()=>v,u5:()=>N,QU:()=>S,_L:()=>I,Gm:()=>L,Lg:()=>M,gy:()=>U,BV:()=>Q,Kf:()=>ee});var n=r(2177);const i="nr@original";var o=Object.prototype.hasOwnProperty,a=!1;function s(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");var a,s,c,u="-"===n.charAt(0);for(c=0;c 2?n-2:0),o=2;o {r(A[T],e,w),r(E[T],e,w)})),r(l._A,"fetch",y),t.on(y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(y+"done",[null,r],n)}else t.emit(y+"done",[e],n)})),t}const O={},j=["pushState","replaceState"];function S(e){const t=function(e){return(e||n.ee).get("history")}(e);return!l.il||O[t.debugId]++||(O[t.debugId]=1,s(t).inPlace(window.history,j,"-")),t}var P=r(3239);const C={},R=["appendChild","insertBefore","replaceChild"];function I(e){const t=function(e){return(e||n.ee).get("jsonp")}(e);if(!l.il||C[t.debugId])return t;C[t.debugId]=!0;var r=s(t),i=/[?&](?:callback|cb)=([^&#]+)/,o=/(.*)\.([^.]+)/,a=/^(\w+)(\.|$)(.*)$/;function c(e,t){var r=e.match(a),n=r[1],i=r[3];return i?c(i,t[n]):t[n]}return r.inPlace(Node.prototype,R,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var n=(a=e.src,s=a.match(i),s?s[1]:null);var a,s;if(!n)return;var u=function(e){var t=e.match(o);if(t&&t.length>=3)return{key:t[2],parent:c(t[1],window)};return{key:e,parent:window}}(n);if("function"!=typeof u.parent[u.key])return;var d={};function f(){t.emit("jsonp-end",[],d),e.removeEventListener("load",f,(0,P.m$)(!1)),e.removeEventListener("error",l,(0,P.m$)(!1))}function l(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",f,(0,P.m$)(!1)),e.removeEventListener("error",l,(0,P.m$)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",f,(0,P.m$)(!1)),e.addEventListener("error",l,(0,P.m$)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}var k=r(5763);const H={};function L(e){const t=function(e){return(e||n.ee).get("mutation")}(e);if(!l.il||H[t.debugId])return t;H[t.debugId]=!0;var r=s(t),i=k.Yu.MO;return i&&(window.MutationObserver=function(e){return this instanceof i?new i(r(e,"fn-")):i.apply(this,arguments)},MutationObserver.prototype=i.prototype),t}const z={};function M(e){const t=function(e){return(e||n.ee).get("promise")}(e);if(z[t.debugId])return t;z[t.debugId]=!0;var r=n.c,o=s(t),a=k.Yu.PR;return a&&function(){function e(r){var n=t.context(),i=o(r,"executor-",n,null,!1);const s=Reflect.construct(a,[i],e);return t.context(s).getCtx=function(){return n},s}l._A.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return a.toString()},Object.setPrototypeOf(e,a),["all","race"].forEach((function(r){const n=a[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=a[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=a.prototype;const n=a.prototype.then;a.prototype.then=function(){var e=this,i=r(e);i.promise=e;for(var a=arguments.length,s=new Array(a),c=0;c e())),t};function m(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}function b(){var e=this,t=r.context(e);e.readyState>3&&!t.resolved&&(t.resolved=!0,r.emit("xhr-resolved",[],e)),i.inPlace(e,f,"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,p),p.prototype=o.prototype,i.inPlace(p.prototype,J,"-xhr-",E),r.on("send-xhr-start",(function(e,t){m(e,t),function(e){h.push(e),a&&(y?y.then(A):u?u(A):(w=-w,x.data=w))}(t)})),r.on("open-xhr-start",m),a){var y=c&&c.resolve();if(!u&&!c){var w=1,x=document.createTextNode(w);new a(A).observe(x,{characterData:!0})}}else t.on("fn-end",(function(e){e[0]&&e[0].type===d||A()}));function A(){for(var e=0;e {r.d(t,{t:()=>n});const n=r(3325).D.ajax},6660:(e,t,r)=>{r.d(t,{A:()=>i,t:()=>n});const n=r(3325).D.jserrors,i="nr@seenError"},3081:(e,t,r)=>{r.d(t,{gF:()=>o,mY:()=>i,t9:()=>n,vz:()=>s,xS:()=>a});const n=r(3325).D.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},4649:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageAction},7633:(e,t,r)=>{r.d(t,{Dz:()=>i,OJ:()=>a,qw:()=>o,t9:()=>n});const n=r(3325).D.pageViewEvent,i="firstbyte",o="domcontent",a="windowload"},9251:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageViewTiming},3614:(e,t,r)=>{r.d(t,{BST_RESOURCE:()=>i,END:()=>s,FEATURE_NAME:()=>n,FN_END:()=>u,FN_START:()=>c,PUSH_STATE:()=>d,RESOURCE:()=>o,START:()=>a});const n=r(3325).D.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState"},7836:(e,t,r)=>{r.d(t,{BODY:()=>A,CB_END:()=>E,CB_START:()=>u,END:()=>x,FEATURE_NAME:()=>i,FETCH:()=>_,FETCH_BODY:()=>v,FETCH_DONE:()=>m,FETCH_START:()=>p,FN_END:()=>c,FN_START:()=>s,INTERACTION:()=>l,INTERACTION_API:()=>d,INTERACTION_EVENTS:()=>o,JSONP_END:()=>b,JSONP_NODE:()=>g,JS_TIME:()=>T,MAX_TIMER_BUDGET:()=>a,REMAINING:()=>f,SPA_NODE:()=>h,START:()=>w,originalSetTimeout:()=>y});var n=r(5763);const i=r(3325).D.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",f="remaining",l="interaction",h="spaNode",g="jsonpNode",p="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=n.Yu.ST,w="-start",x="-end",A="-body",E="cb"+x,T="jsTime",_="fetch"},5938:(e,t,r)=>{r.d(t,{W:()=>o});var n=r(5763),i=r(2177);class o{constructor(e,t,r){this.agentIdentifier=e,this.aggregator=t,this.ee=i.ee.get(e,(0,n.OP)(this.agentIdentifier).isolatedBacklog),this.featureName=r,this.blocked=!1}}},9144:(e,t,r)=>{r.d(t,{j:()=>m});var n=r(3325),i=r(5763),o=r(5546),a=r(2177),s=r(7894),c=r(8e3),u=r(3960),d=r(385),f=r(50),l=r(3081),h=r(8632);function g(){const e=(0,h.gG)();["setErrorHandler","finished","addToTrace","inlineHit","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId"].forEach((t=>{e[t]=function(){for(var r=arguments.length,n=new Array(r),i=0;i 1?r-1:0),i=1;i {e.exposed&&e.api[t]&&o.push(e.api[t](...n))})),o.length>1?o:o[0]}(t,...n)}}))}var p=r(2587);function m(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},m=arguments.length>2?arguments[2]:void 0,v=arguments.length>3?arguments[3]:void 0,{init:b,info:y,loader_config:w,runtime:x={loaderType:m},exposed:A=!0}=t;const E=(0,h.gG)();y||(b=E.init,y=E.info,w=E.loader_config),(0,i.Dg)(e,b||{}),(0,i.GE)(e,w||{}),(0,i.sU)(e,x),y.jsAttributes??={},d.v6&&(y.jsAttributes.isWorker=!0),(0,i.CX)(e,y),g();const T=function(e,t){t||(0,c.R)(e,"api");const h={};var g=a.ee.get(e),p=g.get("tracer"),m="api-",v=m+"ixn-";function b(t,r,n,o){const a=(0,i.C5)(e);return null===r?delete a.jsAttributes[t]:(0,i.CX)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),x(m,n,!0,o||null===r?"session":void 0)(t,r)}function y(){}["setErrorHandler","finished","addToTrace","inlineHit","addRelease"].forEach((e=>h[e]=x(m,e,!0,"api"))),h.addPageAction=x(m,"addPageAction",!0,n.D.pageAction),h.setCurrentRouteName=x(m,"routeName",!0,n.D.spa),h.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,i.OP)(e).customTransaction=(r||"http://custom.transaction")+t,x(m,"setPageViewName",!0)()},h.setCustomAttribute=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("string"==typeof e){if(["string","number"].includes(typeof t)||null===t)return b(e,t,"setCustomAttribute",r);(0,f.Z)("Failed to execute setCustomAttribute.\nNon-null value must be a string or number type, but a type of was provided."))}else(0,f.Z)("Failed to execute setCustomAttribute.\nName must be a string type, but a type of was provided."))},h.setUserId=function(e){if("string"==typeof e||null===e)return b("enduser.id",e,"setUserId",!0);(0,f.Z)("Failed to execute setUserId.\nNon-null value must be a string type, but a type of was provided."))},h.interaction=function(){return(new y).get()};var w=y.prototype={createTracer:function(e,t){var r={},i=this,a="function"==typeof t;return(0,o.p)(v+"tracer",[(0,s.z)(),e,r],i,n.D.spa,g),function(){if(p.emit((a?"":"no-")+"fn-start",[(0,s.z)(),i,a],r),a)try{return t.apply(this,arguments)}catch(e){throw p.emit("fn-err",[arguments,this,"string"==typeof e?new Error(e):e],r),e}finally{p.emit("fn-end",[(0,s.z)()],r)}}}};function x(e,t,r,i){return function(){return(0,o.p)(l.xS,["API/"+t+"/called"],void 0,n.D.metrics,g),i&&(0,o.p)(e+t,[(0,s.z)(),...arguments],r?null:this,i,g),r?void 0:this}}function A(){r.e(439).then(r.bind(r,7438)).then((t=>{let{setAPI:r}=t;r(e),(0,c.L)(e,"api")})).catch((()=>(0,f.Z)("Downloading runtime APIs failed...")))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{w[e]=x(v,e,void 0,n.D.spa)})),h.noticeError=function(e,t){"string"==typeof e&&(e=new Error(e)),(0,o.p)(l.xS,["API/noticeError/called"],void 0,n.D.metrics,g),(0,o.p)("err",[e,(0,s.z)(),!1,t],void 0,n.D.jserrors,g)},d.il?(0,u.b)((()=>A()),!0):A(),h}(e,v);return(0,h.Qy)(e,T,"api"),(0,h.Qy)(e,A,"exposed"),(0,h.EZ)("activatedFeatures",p.T),T}},3325:(e,t,r)=>{r.d(t,{D:()=>n,p:()=>i});const n={ajax:"ajax",jserrors:"jserrors",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.ajax]:5,[n.sessionTrace]:6,[n.pageAction]:7,[n.spa]:8,[n.sessionReplay]:9}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>(({78:"page_action-aggregate",147:"metrics-aggregate",242:"session-manager",317:"jserrors-aggregate",348:"page_view_timing-aggregate",412:"lazy-feature-loader",439:"async-api",538:"recorder",590:"session_replay-aggregate",675:"compressor",733:"session_trace-aggregate",786:"page_view_event-aggregate",873:"spa-aggregate",898:"ajax-aggregate"}[e]||e)+"."+{78:"ac76d497",147:"3dc53903",148:"1a20d5fe",242:"2a64278a",317:"49e41428",348:"bd6de33a",412:"2f55ce66",439:"30bd804e",538:"1b18459f",590:"cf0efb30",675:"ae9f91a8",733:"83105561",786:"06482edd",860:"03a8b7a5",873:"e6b09d52",898:"998ef92b"}[e]+"-1.236.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d {s.onerror=s.onload=null,clearTimeout(h);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},h=setTimeout(l.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=l.bind(null,s.onerror),s.onload=l.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.j=364,i.p="https://js-agent.newrelic.com/",(()=>{var e={364:0,953:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u {i.r(o);var e=i(3325),t=i(5763);const r=Object.values(e.D);function n(e){const n={};return r.forEach((r=>{n[r]=function(e,r){return!1!==(0,t.Mt)(r,"".concat(e,".enabled"))}(r,e)})),n}var a=i(9144);var s=i(5546),c=i(385),u=i(8e3),d=i(5938),f=i(3960),l=i(50);class h extends d.W{constructor(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];super(e,t,r),this.auto=n,this.abortHandler,this.featAggregate,this.onAggregateImported,n&&(0,u.R)(e,r)}importAggregator(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.featAggregate||!this.auto)return;const r=c.il&&!0===(0,t.Mt)(this.agentIdentifier,"privacy.cookies_enabled");let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let t;try{if(r){const{setupAgentSession:e}=await Promise.all([i.e(860),i.e(242)]).then(i.bind(i,3228));t=e(this.agentIdentifier)}}catch(e){(0,l.Z)("A problem occurred when starting up session manager. This page will not start or extend any session.",e)}try{if(!this.shouldImportAgg(this.featureName,t))return void(0,u.L)(this.agentIdentifier,this.featureName);const{lazyFeatureLoader:r}=await i.e(412).then(i.bind(i,8582)),{Aggregate:o}=await r(this.featureName,"aggregate");this.featAggregate=new o(this.agentIdentifier,this.aggregator,e),n(!0)}catch(e){(0,l.Z)("Downloading and initializing ".concat(this.featureName," failed..."),e),this.abortHandler?.(),n(!1)}};c.il?(0,f.b)((()=>o()),!0):o()}shouldImportAgg(r,n){return r!==e.D.sessionReplay||!1!==(0,t.Mt)(this.agentIdentifier,"session_trace.enabled")&&(!!n?.isNew||!!n?.state.sessionReplay)}}var g=i(7633),p=i(7894);class m extends h{static featureName=g.t9;constructor(r,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(super(r,n,g.t9,i),("undefined"==typeof PerformanceNavigationTiming||c.Tt)&&"undefined"!=typeof PerformanceTiming){const n=(0,t.OP)(r);n[g.Dz]=Math.max(Date.now()-n.offset,0),(0,f.K)((()=>n[g.qw]=Math.max((0,p.z)()-n[g.Dz],0))),(0,f.b)((()=>{const t=(0,p.z)();n[g.OJ]=Math.max(t-n[g.Dz],0),(0,s.p)("timing",["load",t],void 0,e.D.pageViewTiming,this.ee)}))}this.importAggregator()}}var v=i(1117),b=i(1284);class y extends v.w{constructor(e){super(e),this.aggregatedData={}}store(e,t,r,n,i){var o=this.getBucket(e,t,r,i);return o.metrics=function(e,t){t||(t={count:0});return t.count+=1,(0,b.D)(e,(function(e,r){t[e]=w(r,t[e])})),t}(n,o.metrics),o}merge(e,t,r,n,i){var o=this.getBucket(e,t,n,i);if(o.metrics){var a=o.metrics;a.count+=r.count,(0,b.D)(r,(function(e,t){if("count"!==e){var n=a[e],i=r[e];i&&!i.c?a[e]=w(i.t,n):a[e]=function(e,t){if(!t)return e;t.c||(t=x(t.t));return t.min=Math.min(e.min,t.min),t.max=Math.max(e.max,t.max),t.t+=e.t,t.sos+=e.sos,t.c+=e.c,t}(i,a[e])}}))}else o.metrics=r}storeMetric(e,t,r,n){var i=this.getBucket(e,t,r);return i.stats=w(n,i.stats),i}getBucket(e,t,r,n){this.aggregatedData[e]||(this.aggregatedData[e]={});var i=this.aggregatedData[e][t];return i||(i=this.aggregatedData[e][t]={params:r||{}},n&&(i.custom=n)),i}get(e,t){return t?this.aggregatedData[e]&&this.aggregatedData[e][t]:this.aggregatedData[e]}take(e){for(var t={},r="",n=!1,i=0;i t.max&&(t.max=e),e 2&&void 0!==arguments[2])||arguments[2];super(e,r,j.t,n),c.il&&((0,t.OP)(e).initHidden=Boolean("hidden"===document.visibilityState),(0,N.N)((()=>(0,s.p)("docHidden",[(0,p.z)()],void 0,j.t,this.ee)),!0),(0,O.bP)("pagehide",(()=>(0,s.p)("winPagehide",[(0,p.z)()],void 0,j.t,this.ee))),this.importAggregator())}}var P=i(3081);class C extends h{static featureName=P.t9;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,P.t9,r),this.importAggregator()}}var R,I=i(2210),k=i(1214),H=i(2177),L={};try{R=localStorage.getItem("__nr_flags").split(","),console&&"function"==typeof console.log&&(L.console=!0,-1!==R.indexOf("dev")&&(L.dev=!0),-1!==R.indexOf("nr_dev")&&(L.nrDev=!0))}catch(e){}function z(e){try{L.console&&z(e)}catch(e){}}L.nrDev&&H.ee.on("internal-error",(function(e){z(e.stack)})),L.dev&&H.ee.on("fn-err",(function(e,t,r){z(r.stack)})),L.dev&&(z("NR AGENT IN DEVELOPMENT MODE"),z("flags: "+(0,b.D)(L,(function(e,t){return e})).join(", ")));var M=i(6660);class B extends h{static featureName=M.t;constructor(r,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(r,n,M.t,i),this.skipNext=0;try{this.removeOnAbort=new AbortController}catch(e){}const o=this;o.ee.on("fn-start",(function(e,t,r){o.abortHandler&&(o.skipNext+=1)})),o.ee.on("fn-err",(function(t,r,n){o.abortHandler&&!n[M.A]&&((0,I.X)(n,M.A,(function(){return!0})),this.thrown=!0,(0,s.p)("err",[n,(0,p.z)()],void 0,e.D.jserrors,o.ee))})),o.ee.on("fn-end",(function(){o.abortHandler&&!this.thrown&&o.skipNext>0&&(o.skipNext-=1)})),o.ee.on("internal-error",(function(t){(0,s.p)("ierr",[t,(0,p.z)(),!0],void 0,e.D.jserrors,o.ee)})),this.origOnerror=c._A.onerror,c._A.onerror=this.onerrorHandler.bind(this),c._A.addEventListener("unhandledrejection",(t=>{const r=function(e){let t="Unhandled Promise Rejection: ";if(e instanceof Error)try{return e.message=t+e.message,e}catch(t){return e}if(void 0===e)return new Error(t);try{return new Error(t+(0,D.P)(e))}catch(e){return new Error(t)}}(t.reason);(0,s.p)("err",[r,(0,p.z)(),!1,{unhandledPromiseRejection:1}],void 0,e.D.jserrors,this.ee)}),(0,O.m$)(!1,this.removeOnAbort?.signal)),(0,k.gy)(this.ee),(0,k.BV)(this.ee),(0,k.em)(this.ee),(0,t.OP)(r).xhrWrappable&&(0,k.Kf)(this.ee),this.abortHandler=this.#e,this.importAggregator()}#e(){this.removeOnAbort?.abort(),this.abortHandler=void 0}onerrorHandler(t,r,n,i,o){"function"==typeof this.origOnerror&&this.origOnerror(...arguments);try{this.skipNext?this.skipNext-=1:(0,s.p)("err",[o||new F(t,r,n),(0,p.z)()],void 0,e.D.jserrors,this.ee)}catch(t){try{(0,s.p)("ierr",[t,(0,p.z)(),!0],void 0,e.D.jserrors,this.ee)}catch(e){}}return!1}}function F(e,t,r){this.message=e||"Uncaught error with no additional information",this.sourceURL=t,this.line=r}let U=1;const q="nr@id";function G(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===c._A?0:(0,I.X)(e,q,(function(){return U++}))}function V(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,D.P)(e).length}catch(e){return}}}var X=i(7243);class W{constructor(e){this.agentIdentifier=e,this.generateTracePayload=this.generateTracePayload.bind(this),this.shouldGenerateTrace=this.shouldGenerateTrace.bind(this)}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var r=(0,t.DL)(this.agentIdentifier);if(!r)return null;var n=(r.accountID||"").toString()||null,i=(r.agentID||"").toString()||null,o=(r.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,_.M)(),s=(0,_.Ht)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof c._A?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,D.P)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var r=!1,n={};if((0,t.Mt)(this.agentIdentifier,"distributed_tracing")&&(n=(0,t.P_)(this.agentIdentifier).distributed_tracing),e.sameOrigin)r=!0;else if(n.allowed_origins instanceof Array)for(var i=0;i 2&&void 0!==arguments[2])||arguments[2];super(r,n,Z.t,i),(0,t.OP)(r).xhrWrappable&&(this.dt=new W(r),this.handler=(e,t,r,n)=>(0,s.p)(e,t,r,n,this.ee),(0,k.u5)(this.ee),(0,k.Kf)(this.ee),function(r,n,i,o){function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=E,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){_(t,e)}),(0,O.m$)(!1)),c.IF||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,O.m$)(!1))}function s(e){this.params={method:e[0]},T(this,e[1]),this.metrics={}}function u(e,n){var i=(0,t.DL)(r);i.xpid&&this.sameOrigin&&n.setRequestHeader("X-NewRelic-ID",i.xpid);var a=o.generateTracePayload(this.parsedOrigin);if(a){var s=!1;a.newrelicHeader&&(n.setRequestHeader("newrelic",a.newrelicHeader),s=!0),a.traceContextParentHeader&&(n.setRequestHeader("traceparent",a.traceContextParentHeader),a.traceContextStateHeader&&n.setRequestHeader("tracestate",a.traceContextStateHeader),s=!0),s&&(this.dt=a)}}function d(e,t){var r=this.metrics,i=e[0],o=this;if(r&&i){var a=V(i);a&&(r.txSize=a)}this.startTime=(0,p.z)(),this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof o.end)&&o.end(t)}catch(e){try{n.emit("internal-error",[e])}catch(e){}}};for(var s=0;s 1?e[1]=i:e.push(i)}else e[0]&&e[0].headers&&s(e[0].headers,n)&&(this.dt=n);function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function x(e,t){this.params={},this.metrics={},this.startTime=(0,p.z)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof Y?r=i.url:c._A?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),T(this,r);var o=(""+(i&&i instanceof Y&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.txSize=V(n.body)||0}function A(t,r){var n;this.endTime=(0,p.z)(),this.params||(this.params={}),this.params.status=r?r.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var o={txSize:this.txSize,rxSize:n,duration:(0,p.z)()-this.startTime};i("xhr",[this.params,o,this.startTime,this.endTime,"fetch"],this,e.D.ajax)}function E(t){var r=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var o=0;o 2&&void 0!==arguments[2])||arguments[2];super(e,t,we.t,r),this.importAggregator()}}new class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,_.ky)(16);c._A?(this.agentIdentifier=t,this.sharedAggregator=new y({agentIdentifier:this.agentIdentifier}),this.features={},this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(m),Object.assign(this,(0,a.j)(this.agentIdentifier,e,e.loaderType||"agent")),this.start()):(0,l.Z)("Failed to initial the agent. Could not determine the runtime environment.")}get config(){return{info:(0,t.C5)(this.agentIdentifier),init:(0,t.P_)(this.agentIdentifier),loader_config:(0,t.DL)(this.agentIdentifier),runtime:(0,t.OP)(this.agentIdentifier)}}start(){const t="features";try{const r=n(this.agentIdentifier),i=[...this.desiredFeatures];i.sort(((t,r)=>e.p[t.featureName]-e.p[r.featureName])),i.forEach((t=>{if(r[t.featureName]||t.featureName===e.D.pageViewEvent){const n=function(t){switch(t){case e.D.ajax:return[e.D.jserrors];case e.D.sessionTrace:return[e.D.ajax,e.D.pageViewEvent];case e.D.sessionReplay:return[e.D.sessionTrace];case e.D.pageViewTiming:return[e.D.pageViewEvent];default:return[]}}(t.featureName);n.every((e=>r[e]))||(0,l.Z)("".concat(t.featureName," is enabled but one or more dependent features has been disabled (").concat((0,D.P)(n),"). This may cause unintended consequences or missing data...")),this.features[t.featureName]=new t(this.agentIdentifier,this.sharedAggregator)}})),(0,T.Qy)(this.agentIdentifier,this.features,t)}catch(e){(0,l.Z)("Failed to initialize all enabled instrument classes (agent aborted) -",e);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,T.fP)();return delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.[t],delete this.sharedAggregator,r.ee?.abort(),delete r.ee?.get(this.agentIdentifier),!1}}}({features:[J,m,S,class extends h{static featureName=oe;constructor(t,r){if(super(t,r,oe,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!c.il)return;const n=this.ee;let i;(0,k.QU)(n),this.eventsEE=(0,k.em)(n),this.eventsEE.on(se,(function(e,t){this.bstStart=(0,p.z)()})),this.eventsEE.on(ae,(function(t,r){(0,s.p)("bst",[t[0],r,this.bstStart,(0,p.z)()],void 0,e.D.sessionTrace,n)})),n.on(ce+ne,(function(e){this.time=(0,p.z)(),this.startPath=location.pathname+location.hash})),n.on(ce+ie,(function(t){(0,s.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,e.D.sessionTrace,n)}));try{i=new PerformanceObserver((t=>{const r=t.getEntries();(0,s.p)(te,[r],void 0,e.D.sessionTrace,n)})),i.observe({type:re,buffered:!0})}catch(e){}this.importAggregator({resourceObserver:i})}},C,xe,B,class extends h{static featureName=de;constructor(e,r){if(super(e,r,de,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!c.il)return;if(!(0,t.OP)(e).xhrWrappable)return;try{this.removeOnAbort=new AbortController}catch(e){}let n,i=0;const o=this.ee.get("tracer"),a=(0,k._L)(this.ee),s=(0,k.Lg)(this.ee),u=(0,k.BV)(this.ee),d=(0,k.Kf)(this.ee),f=this.ee.get("events"),l=(0,k.u5)(this.ee),h=(0,k.QU)(this.ee),g=(0,k.Gm)(this.ee);function m(e,t){h.emit("newURL",[""+window.location,t])}function v(){i++,n=window.location.hash,this[ve]=(0,p.z)()}function b(){i--,window.location.hash!==n&&m(0,!0);var e=(0,p.z)();this[pe]=~~this[pe]+e-this[ve],this[ye]=e}function y(e,t){e.on(t,(function(){this[t]=(0,p.z)()}))}this.ee.on(ve,v),s.on(be,v),a.on(be,v),this.ee.on(ye,b),s.on(ge,b),a.on(ge,b),this.ee.buffer([ve,ye,"xhr-resolved"],this.featureName),f.buffer([ve],this.featureName),u.buffer(["setTimeout"+le,"clearTimeout"+fe,ve],this.featureName),d.buffer([ve,"new-xhr","send-xhr"+fe],this.featureName),l.buffer([me+fe,me+"-done",me+he+fe,me+he+le],this.featureName),h.buffer(["newURL"],this.featureName),g.buffer([ve],this.featureName),s.buffer(["propagate",be,ge,"executor-err","resolve"+fe],this.featureName),o.buffer([ve,"no-"+ve],this.featureName),a.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),y(l,me+fe),y(l,me+"-done"),y(a,"new-jsonp"),y(a,"jsonp-end"),y(a,"cb-start"),h.on("pushState-end",m),h.on("replaceState-end",m),window.addEventListener("hashchange",m,(0,O.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",m,(0,O.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){m(0,i>1)}),(0,O.m$)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#e,this.importAggregator()}#e(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}],loaderType:"spa"})})(),window.NRBA=o})(); window.jQuery || document.write(' ') CKEDITOR_BASEPATH='https://f1000research.com/js/vendor/ckeditor/' window.reactTheme = 'research'; window.MathJax = { CommonHTML: { linebreaks: { automatic: true } }, 'HTML-CSS': { linebreaks: { automatic: true } }, SVG: { linebreaks: { automatic: true } }, AuthorInit: function() { MathJax.Hub.Register.MessageHook('End Process', function () { let timeout = false; // holder for timeout id const delay = 250; // delay after event is "complete" to run callback const reflowMath = function() { const dispFormulas = document.querySelectorAll('.disp-formula.panel'); if (!dispFormulas) { return; } for (const dispFormula of dispFormulas) { const child = dispFormula.querySelector('.MathJax_Preview').nextSibling.firstChild; const isMultiline = MathJax.Hub.getAllJax(dispFormula)[0].root.isMultiline; if (dispFormula.offsetWidth < child.offsetWidth || isMultiline) { MathJax.Hub.Queue(['Rerender', MathJax.Hub, dispFormula]); } } }; window.addEventListener('resize', function() { clearTimeout(timeout); // clear the timeout timeout = setTimeout(reflowMath, delay); // start timing for event "completion" }); }); }, }; if (window.location.hash == '#_=_'){ window.location = window.location.href.split('#')[0] } !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function() {n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)} ;if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '1641728616063202'); fbq('track', "PixelInitialized", {}); (function(h,o,t,j,a,r){ h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; h._hjSettings={hjid:2318163,hjsv:6}; a=o.getElementsByTagName('head')[0]; r=o.createElement('script');r.async=1; r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; a.appendChild(r); })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv='); search file_upload Submit your research search menu close search Browse Gateways & Collections How to Publish Submit your Research My Submissions Article Guidelines Article Guidelines (New Versions) Open Data, Software and Code Guidelines Open Data and Accessible Source Materials Guidelines (HSS) Open Data, Software and Code Guidelines (PSE) Prepublication Checks Production Process Posters and Slides Guidelines Document Guidelines Article Processing Charges Peer Review Finding Article Reviewers About How it Works For Reviewers Our Advisors Policies Glossary FAQs For Developers Newsroom Contact My Research Submissions Content and Tracking Alerts My Details Sign In file_upload Submit your research { "@context": "https://schema.org", "@type": "ScholarlyArticle", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://f1000research.com/articles/13-356" }, "headline": "{MFPP(R). An R package for matrix-based flexible project planning", "datePublished": "2024-04-23T18:23:51", "dateModified": "2024-09-12T12:49:18", "author": [ { "@type": "Person", "name": "Zsolt Tibor Kosztyán" }, { "@type": "Person", "name": "Aamir Saghir" } ], "publisher": { "@type": "Organization", "name": "F1000Research", "logo": { "@type": "ImageObject", "url": "https://f1000research.com/img/AMP/F1000Research_image.png", "height": 480, "width": 60 } }, "image": { "@type": "ImageObject", "url": "https://f1000research.com/img/AMP/F1000Research_image.png", "height": 1200, "width": 150 }, "description": "Project planning and scheduling are essential parts of project management. While project planning and scheduling tools are already available to support traditional project management approaches, flexible project management approaches, such as agile, extreme, and hybrid project planning, are less well supported by software tools, especially freely available software packages. To our knowledge, no existing R package for project planning and scheduling can support flexible projects. This paper aims to fill this gap by introducing and describing the R package mfpp for matrix-based flexible project planning/scheduling. This package includes a comprehensive set of tools for project managers to schedule both traditional and flexible project plans. The use of the package is illustrated through examples." } { "@context": "http://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": "1", "item": { "@id": "https://f1000research.com/", "name": "Home" } }, { "@type": "ListItem", "position": "2", "item": { "@id": "https://f1000research.com/browse/articles", "name": "Browse" } }, { "@type": "ListItem", "position": "3", "item": { "@id": "https://f1000research.com/articles/13-356/v2", "name": "{MFPP(R). An R package for matrix-based flexible project planning" } } ] } Home Browse {MFPP(R). An R package for matrix-based flexible project planning ALL Metrics - Views Downloads Get PDF Get XML Cite How to cite this article Kosztyán ZT and Saghir A. {MFPP(R). An R package for matrix-based flexible project planning [version 2; peer review: 2 approved, 1 approved with reservations, 1 not approved] . F1000Research 2024, 13 :356 ( https://doi.org/10.12688/f1000research.143144.2 ) NOTE: If applicable, it is important to ensure the information in square brackets after the title is included in all citations of this article. Close Copy Citation Details Export Export Citation Sciwheel EndNote Ref. Manager Bibtex ProCite Sente EXPORT Select a format first Track Share ▬ ✚ Software Tool Article Revised {MFPP(R). An R package for matrix-based flexible project planning [version 2; peer review: 2 approved, 1 approved with reservations, 1 not approved] Zsolt Tibor Kosztyán https://orcid.org/0000-0001-7345-8336 1 , Aamir Saghir 2 Zsolt Tibor Kosztyán https://orcid.org/0000-0001-7345-8336 1 , Aamir Saghir 2 PUBLISHED 12 Sep 2024 Author details Author details 1 Department of Quantitative Methods, University of Pannonia, Veszprém, Veszprém, 8200, Hungary 2 Department of Statistics, Mirpur University of Science and Technology, Mirpur, Khyber Pakhtunkhwa, Pakistan Zsolt Tibor Kosztyán Roles: Conceptualization, Funding Acquisition, Resources, Software, Visualization, Writing – Original Draft Preparation Aamir Saghir Roles: Data Curation, Software, Validation, Writing – Original Draft Preparation OPEN PEER REVIEW DETAILS REVIEWER STATUS This article is included in the RPackage gateway. Abstract Project planning and scheduling are essential parts of project management. While project planning and scheduling tools are already available to support traditional project management approaches, flexible project management approaches, such as agile, extreme, and hybrid project planning, are less well supported by software tools, especially freely available software packages. To our knowledge, no existing R package for project planning and scheduling can support flexible projects. This paper aims to fill this gap by introducing and describing the R package mfpp for matrix-based flexible project planning/scheduling. This package includes a comprehensive set of tools for project managers to schedule both traditional and flexible project plans. The use of the package is illustrated through examples. READ ALL READ LESS Keywords flexible projects, matrix-based planning, scheduling Corresponding Author(s) Zsolt Tibor Kosztyán ( [email protected] ) Close Corresponding author: Zsolt Tibor Kosztyán Competing interests: No competing interests were disclosed. Grant information: This work has been implemented by the TKP2021-NVA-10 project with 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. Zsolt T. Kosztyán's research contribution supported by Project no. K 142395 has been implemented with the support provided by the Ministry of Culture and Innovation of Hungary from the National Research, Development and Innovation Fund, financed under the K_22 ``OTKA'' funding scheme. The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript. Copyright: © 2024 Kosztyán ZT and Saghir A. This is an open access article distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. How to cite: Kosztyán ZT and Saghir A. {MFPP(R). An R package for matrix-based flexible project planning [version 2; peer review: 2 approved, 1 approved with reservations, 1 not approved] . F1000Research 2024, 13 :356 ( https://doi.org/10.12688/f1000research.143144.2 ) First published: 23 Apr 2024, 13 :356 ( https://doi.org/10.12688/f1000research.143144.1 ) Latest published: 12 Sep 2024, 13 :356 ( https://doi.org/10.12688/f1000research.143144.2 ) Revised Amendments from Version 1 The recent upgrades to the mfpp R package for matrix-based flexible project planning introduce significant enhancements aimed at improving project management efficiency and adaptability. The new version expands upon the original framework by integrating advanced analytical capabilities that allow for a more comprehensive assessment of project demands and structural changes. Additionally, the updated package incorporates elements from various project management methodologies, including classic, agile, extreme, and hybrid approaches. This integration facilitates a more versatile application of the package across different project types, catering to a broader range of user needs. A new Experiments section has been provided to show the performance and possibilities of the mfpp packages. The main purpose of this section is to show researchers that such tests can be performed by presenting the proposed package. During the generation process, we also examined projects containing 500 activities. We allowed several execution methods and considered several types of resource requirements. The results are included in the Experiments section. Since existing tools cannot calculate all possible alternatives, the possible time reduction cannot be calculated. The methodology section “Brief summary of matrix-based project planning and risk analysis” has been added and revised. The new figure (Figure 1) compares the matrix-based plans of different types of project management approaches. We present the problem and refer to a publication containing the details. Nondeterministic techniques are briefly introduced. Our contributions to the literature are stated, and the limitations of our methods are also specified. The recent upgrades to the mfpp R package for matrix-based flexible project planning introduce significant enhancements aimed at improving project management efficiency and adaptability. The new version expands upon the original framework by integrating advanced analytical capabilities that allow for a more comprehensive assessment of project demands and structural changes. Additionally, the updated package incorporates elements from various project management methodologies, including classic, agile, extreme, and hybrid approaches. This integration facilitates a more versatile application of the package across different project types, catering to a broader range of user needs. A new Experiments section has been provided to show the performance and possibilities of the mfpp packages. The main purpose of this section is to show researchers that such tests can be performed by presenting the proposed package. During the generation process, we also examined projects containing 500 activities. We allowed several execution methods and considered several types of resource requirements. The results are included in the Experiments section. Since existing tools cannot calculate all possible alternatives, the possible time reduction cannot be calculated. The methodology section “Brief summary of matrix-based project planning and risk analysis” has been added and revised. The new figure (Figure 1) compares the matrix-based plans of different types of project management approaches. We present the problem and refer to a publication containing the details. Nondeterministic techniques are briefly introduced. Our contributions to the literature are stated, and the limitations of our methods are also specified. See the authors' detailed response to the review by Shan Jayasinghe See the authors' detailed response to the review by Bálint Blaskovics See the authors' detailed response to the review by Ágoston Kolos READ REVIEWER RESPONSES Motivation and significance Project planning and scheduling algorithms have been intensively researched during the past 60 years 1 ; however, with a few exceptions (such as the examples in Refs. 2 – 4 ), these algorithms assume fixed dependencies between tasks and neglect the task completion priority. Since traditional network-based project planning techniques either consider logic structures to be static or require a limited number of possible alternatives for completion sequences to be predefined, 2 they are very difficult to use to support flexible projects, such as agile, hybrid, or extreme projects. 1 , 5 In flexible project management, the completion structure is not predefined. Instead, the real structure is determined by the decision of the customer–developer. In such flexible approaches, task completion is prioritized according to customers’ claims. From a technological perspective, parallel and sequential completion can be used to handle flexible dependencies. 6 In addition, structural flexibility, which is a requirement of both agile and extreme project management approaches, is necessary to handle new unplanned tasks, whereas the hybrid project management approach requires combining the features of traditional, agile, and, if necessary, extreme project management approaches. 5 Although researchers currently focus mainly on scheduling traditional projects, flexible project planning techniques have become more popular in recent decades, especially in software project scheduling [see the results of surveys in Refs. 7 , 8 ]. Flexibility in project scheduling refers to the ability to make scheduling decisions. There are multiple categories of flexibility 9 : Time-related flexibility in a project plan is achieved through the use of slacks or topological floats. These allow for changes in the scheduled start and finish times of tasks without affecting the order in which tasks need to be completed or the way they are carried out. This method can change the duration of tasks by establishing minimum and maximum time delays. Activity or modal flexibility refers to the ability to execute a task in many modes or with distinct sets of tasks using diverse combinations of resources. This is represented via Petri nets, required and optional choices, or AND/OR networks, which expand resource-constrained project scheduling problems by including alternate activity chains. Activity or modal flexibility is used in nondeterministic methods, such as discrete/continuous/stochastic-time-cost methods and time-quality-cost tradeoff project scheduling techniques. 10 Traditional and hybrid project management approaches usually employ these techniques for resource-constrained project scheduling problems. 10 , 11 Dependency flexibility allows some logical dependencies to be omitted, which enables tasks to be executed concurrently or in any desired sequence. Scope flexibility allows for the exclusion or delay of low-priority tasks, which reduces the need for resources and may result in a shorter project time at the expense of quality or level of completion. Structural flexibility , which describes the combined effects of dependency and scope flexibility, has a significant effect on the logical structure of agile projects and extreme projects. 9 This method can be used to calculate all types of flexibility, but when the effects of flexibility are investigated, we focus on structural flexibility; therefore, we usually omit the structural term. Advanced project management tools such as Microsoft Project, JIRA, Wrike, Teamwork, Zoho Projects, 12 Asana, 13 and Monday.com 14 are backed by highly sophisticated algorithms and are widely used to manage adaptable projects for numerous multinational companies. Nevertheless, the target audience of these software applications is professionals and generally not scholars. These software applications are not freely available. The algorithms for managing flexible projects with these applications are hidden from the user. In general, they provide only the most likely solution and not all possible solutions; therefore, they do not sufficiently support adaptability. By implementing the algorithm of Kosztyán and Szalkai, 4 all possible solutions, including schedules with minimal time, cost, and resource demands, can be obtained. Since the proposed freely available package is implemented in R, other statistical and analysis tools can be integrated to investigate the nature of flexible projects. In this way, scholars can gain better insight into scheduling flexible projects. In addition, while most studies and state-of-the-art project management tools focus only on the risk of changing project demands, the proposed mfpp package, following Kosztyán et al., 5 allows us to analyze the shock effects for project demands and the effects of structural changes. This extension is essential for analyzing the risk effects of flexible projects. The suggested R package for matrix-based flexible project planning offers numerous potential contributions to the current body of knowledge on project management and project tools. • The integration of flexible approaches : This package incorporates elements from classic, agile, extreme, and hybrid project management processes. The comprehensive solutions provided enable a diverse range of project types and management styles. This integration can improve understanding of how diverse techniques can coexist and be implemented in practical situations. • Algorithm transparency : In contrast to most commercial project management applications that employ proprietary algorithms, the mfpp package provides transparency by utilizing the algorithm of Kosztyán and Szalkai. 4 This algorithm enables users to examine all potential scenarios for project scheduling. This transparency can enhance scholarly investigations and real-world implementations by enabling a valuable understanding of the fundamental mechanisms of adaptable project scheduling. • The package provides assistance for managing unforeseen tasks and modifications of the project’s scope, emphasizing the importance of adaptability in project management. The emphasis on flexibility in the project management literature is in line with contemporary trends that highlight the importance of sensitivity to change. • The mfpp package, built in R, enables the integration of many statistical and analytical methods. This can facilitate more advanced analyses of project data, thereby improving the empirical basis of research in project management. • The mfpp package enables the execution of empirical studies to assess the efficacy of flexible project planning methodologies. This contributes to the existing body of knowledge by offering data-driven insights and case studies that support theoretical models. • Enhanced risk analysis : The mfpp package enables the analysis of changes in not only task and project demands but also completion scores; therefore, the effects of structural changes can also be analyzed. To demonstrate the impact of shocks, the package can randomly select activities whose demand changes to a large extent (shockwise). • Educational resource : The mfpp package can be used as a publicly accessible tool for researchers and practitioners. It can serve as an educational resource by assisting in training future project managers in flexible planning approaches and the utilization of R for project management. Scheduling flexible projects In terms of scheduling, traditional time–cost trade-off problems 10 , 15 support the traditional project management approach (TPMa) and are generally not considered or are only minimally considered in the agile project management approach (APMa). Other flexible approaches, such as the extreme project management approach (XPMa), allow for new unplanned tasks in response to changes in customer desires. Most recently, the hybrid project management approach (HPMa) has begun to be explored; it has a flexible structure but allows the application of traditional trade-off methods and/or multimode task completion (or alternative technologies). These approaches are detailed from a scheduling perspective in Table 1 . 16 Table 1. Comparison of various traditional and flexible project management approaches [source: Ref. 16 ]. Approach Project structure New tasks Multiple modes Traditional (TPMa) Fixed Not allowed Handled Agile (APMa) Flexible Not allowed Not handled Extreme (XPMa) Flexible allowed Not handled Hybrid (HPMa) Flexible Allowed Handled Flexible project planning approaches, such as APMa, HPMa, and XPMa, are very popular in software project planning. However, these approaches still lack algorithmic and software support for project scheduling. To address this, 16 developed the mfpp package in MATLAB (RRID:SCR_001622) to fill this gap, but this software is not free. To our knowledge, there are three packages available in R (RRID:SCR_001905) for project management. Among these, PlotPrjNetworks 17 and plan 18 create a Gantt diagram for the visualization of the project structure, whereas ProjectManagement 19 is a useful tool for managing a project from development to execution that is based on the TPMa. However, an R package for project management that is based on APMa, XPMa, and HPMa is lacking. This is an important gap to fill for project planning/scheduling practitioners. Such a package would be useful to the user community because it could be integrated with other tools developed in R, meaning that it could be easily modified to suit the specific needs of each user and could be wrapped into a graphical interface. Brief summary of matrix-based project planning and risk analysis Matrix-based techniques can be used instead of traditional network-based project planning techniques to model all types of changes in customer demands (such as new tasks and/or new subprojects) and parameters (such as time/cost/resource demands). Such methods have been successfully used to model agile projects. 3 The basis of a flexible matrix-based project planning method is a project domain matrix (PDM) 3 with unplanned tasks. The PDM is a matrix of dimensions n + u by m + u , where n is the number of planned tasks, u is the number of unplanned tasks, m = n + w ( 3 + ρ ) , w is the number of possible completion modes and ρ is the number of possible resources. The PDM has five domains. The first domain is the logic domain (LD), which is described as an n ( + u ) by n ( + u ) project expert matrix (PEM), 20 a type of numerical dependency structure matrix (NDSM). 21 The other domains are the time domain (TD) and the quality domain (QD), which are n ( + u ) by w submatrices, and the resource domain (RD), which is an n ( + u ) by w ⋅ ρ submatrix. The LD and QD contain real values between 0 and 1, whereas the TD, cost domain (CD), and RD contain nonnegative real values. The diagonal values in the LD matrix encode the completion priorities. A value of 1 indicates mandatory tasks. These tasks cannot be excluded from the project or postponed. In TPMa, all diagonal values are considered 1. If a diagonal value is 0 < [ LD ] ii = l ii < 1 , the corresponding task is called a supplementary task , which means that completion is flexible. On the basis of the priority and the time/cost/resource demands, the task will either be included in the project or postponed. Notably, if the activity is excluded from the project plan, all the dependencies and needs of the activity are deleted from the project plan (or postponed to the next (sub)project). The out-diagonal values in the LD domain indicate dependencies. l ij = 1 ( l ij = 0 , i ≠ j ) indicates fixed dependency ( no dependency ) between task i and task j . Fixed dependency means that the start of task j must wait until the end of task i . In flexible projects, 0 < l ij < 1 indicates flexible dependency , which means that on the basis of the constraints and the target functions, the task can be included or excluded from the project. The prescription of the dependency indicates serial completion, whereas resolving the dependency allows parallel completion of the tasks. TPMa allows only mandatory tasks and fixed dependencies; therefore, ∀ i , j l ij ∈ { 0 , 1 } . APMa, HPMa, and XPMa allow flexible dependencies; therefore, ∀ i , j l ij ∈ { 0 , 1 } . TPMa and HPMa allow multiple completion modes. This means that a task i can be completed in w ways. Each completion mode (called a technology) has time, cost, quality and resource demands. The optimization algorithm must select the appropriate technologies for each task to fit the constraints and achieve the best target value. XPMa and HPMa allow us to consider new tasks. This means that nW new columns in the LD domain and nW new rows can be considered for each domain. Figure 1 compares the initial matrices of the various project management approaches. Figure 1. An example for comparing initial matrices for different kinds of project management approaches. The example involves two mandatory tasks (A, B), one supplementary task (C) and one nonplanned task (D). APMa and XPMa consider only one completion mode (usually the first), whereas HPMa (the general case) and XPMa consider two different completion modes (technologies). Since TPMa does not use completion scores, it does not distinguish between fixed and flexible dependencies or between mandatory and supplementary tasks. However, TPMa requires replanning if nonplanned tasks occur. Demands Kosztyán and Szalkai 4 showed that the following demands can be calculated. The total project time (TPT) is the makespan of the project durations of tasks that are to be completed for selected completion modes. The minimal (maximal) value of TPT occurs if only mandatory tasks (both mandatory and supplementary tasks) and fixed (fixed and flexible) dependencies are included in the project, and technologies are selected so that the possible duration is minimal (maximal). The total project cost (TPC) is the cost of deciding to complete the tasks. The TPC is minimal (maximal) if only mandatory (all) tasks are included in the project with the minimal (maximal) possible cost. The total project quality (TPQ) value is the sum of the quality scores of the completed tasks. The TPQ is minimal (maximal) if only mandatory (all) tasks are included in the project with the minimal (maximal) possible quality score value. The amount of total project resources (TPR) is the maximal resource demand for the tasks that are to be completed. The TPR is minimal (maximal) if only mandatory (all) tasks are included, but all (only fixed) dependencies are included in the project plan with minimal (maximal) possible resource demands. The total project score (TPS) is the product of the scores of tasks that are to be included and the scores of tasks that are to be excluded. Kosztyán 3 suggested that the score of exclusion should be one minus the score of inclusion, but this is not necessary. The TPS is minimal (maximal) if all the mandatory and supplementary tasks are included, where the score of exclusion is higher (lower) than the score of inclusion. If the TPS is maximal, we say that this solution is the most desired solution. Relative constraints and target functions Since minimal and maximal values of demands can be calculated, the relative values of the constraints can be specified in the following way: (1) C x % = C x − TPX _ max TPX _ min − TPX _ max where C X is the constraint of demand X ( X can be time, cost, resource demand or quality or score value). TPX min ( TPX max ) is the minimal (maximal) value of demand X . The target functions can be described as follows: (2) min ← TPT ( PDM ) (3) min ← TPC ( PDM ) (4) min ← TPR ( PDM ) (5) max ← TPQ ( PDM ) (6) max ← TPS ( PDM ) If all target functions must be considered, we can either specify a composite function or find the Pareto optimal function for these target functions. The optimal solution can be found via a genetic algorithm, 4 , 16 where a chromosome encodes a possible solution. A chromosome has three parts. The first part encodes the supplementary tasks and flexible dependencies. These can be either 0 or 1 to indicate exclusion (0) or inclusion (1). The second part uses integer values, which encode the selected completion modes. The last part encodes the scheduled start times. The target functions are the same in each project management approach, as we mentioned previously, and only the structure of the PDM matrix is different. In this paper, we introduce mfpp , a new R package that provides the necessary tools to manage both traditional and flexible project plans. This package can be used to build matrix-based projects and calculate their demands, generate a flexible project network, and perform uncertainty analysis. The proposed package is an R version of MATLAB functions ( i.e. , MATLAB functions from the previous study Kosztyán 16 ). Supporting risk analysis With the proposed package, three kinds of risks can be generated. The first (phase 1) supports traditional risk analysis. In this way, task (time/cost/resource) demands can be changed with a unified β distribution. The second (phase 2) function simulates the shock effect. A predefined percentage of tasks are selected, and their demands are changed significantly, but other task demands remain unchanged. This function can simulate shock effects when the change is limited to one task ( e.g. , the running task), but these effects may also be long-lasting ( e.g. , a virus attack). The third (phase 3) function can change the task priorities and scores of flexible dependencies. Changes in task priorities simulate changes in customer needs, and changes in dependencies simulate changes in technological needs. Experiments In this section, we examine the analytical possibilities of flexible project planning methods through generated, synthetic (Boctor 22 ) and real (Batselier and Vanhoucke 23 ) project databases. The aims of this section are threefold. First, the types of investigations that scholars can use to analyze flexible project structures are demonstrated. Second, it is shown how different parameters, such as the number of resources, number of tasks, number of completion methods, and percentage of (structural) flexibility, affect the reduction in project duration. Third, the effects on duration reduction achieved by different project management approaches are compared. If the number of tasks or relationships that can be omitted is low, time reduction can only be achieved via traditional methods, such as changing the methods of completion modes. However, if the number of flexible dependencies and the rate of supplementary tasks increase, then the role of flexible approaches becomes more valuable. However, this study does not delve into further investigations, as its main objective is to demonstrate how researchers might examine the efficacy of flexible methodologies. Table 2 shows the descriptive statistics of the three applied datasets. Table 2. Descriptive statistics of project datasets considered in the experiments. Number of tasks Projects Time Cost Quality Resources Completion modes Flexibility rates Generated 50, 100, 200, 500 1440 + + + 2, 3, 4 1-4 10-40% Synthetic 50, 100 240 + - - 2, 4 4 10-40% Real 7-437 125 + + - 0-12 1 10-40% The generated dataset was created with the proposed generatepdm function in the mfpp package. The numbers of tasks are 50, 100, 200 and 500. The project generator follows the algorithm of Kosztyán. 16 This allows the time, cost, quality and resources to be specified. The synthetic project dataset of Boctor 22 contains 240 predefined tasks with four completion modes. This dataset does not include costs. The real dataset of Batselier and Vanhoucke 23 contains 125 projects; however, each project has only one completion mode. Furthermore, matrix-based databases are integrated into the work of Kosztyán and Novák. 24 Each project has fixed structures; therefore, with the flexible project generator (FSG) 25 implemented in the phase3 function in the proposed mfpp package, 10–40% of tasks and dependencies are selected to be flexible. In this way, we obtain four times more flexible project plans. The experimental simulation shows how flexible project planning expands the scheduling abilities of the project manager. If there are no flexible dependencies, the project plans cannot be restructured. The increase in the flexibility rate enables the utilization of flexible project management approaches. Figure 2 shows the effects of the flexibility rate, the number of tasks, and the number of completion modes on the rate of minimal/maximal project duration (TPT). Figure 2. The effects of flexibility, number of tasks, and number of completion modes on the ratio of the minimal/maximal duration. TPT min / TPT max represents the possible reduction rate in the duration of the project. The project duration can be reduced even if the flexibility rate is low, as long as there are enough completion modes and the shortest duration ( i.e. , the shortest technology) can be selected for each task (see TPMa). However, Figure 2 shows that the greatest reduction in the duration of the project occurs if the flexibility rate is increased. Table 3 shows the results of the analysis of variance (ANOVA). Table 3. Table of analysis of variance results for the generated project plans. Variables Df Sum Sq Mean Sq F value Pr ( > F ) Sig. R 2 % Flexibility rates 1 2.161 2.1608 151.835 < 2 e − 16 *** 53.27 Completion modes 1 1.233 1.2331 86.644 < 2 e − 16 *** 30.24 Numbers of tasks 1 0.536 0.5363 37.684 3.15e-09 *** 13.84 Numbers of resources 1 0.111 11.13 7.818 0.00557 ** 2.64 Residuals 5756 3.643 0.0142 The adjusted R squared value is 0.5185. R 2 % shows the importance of the variables. The variable of greatest importance to the possible project duration is the flexibility rate, which follows the completion mode. Although the number of tasks and the number of resources also significantly affect the reduction in project duration, they have much less impact. Similar results can be observed for Boctor’s 22 synthetic data (see Table 4(a) ) and Batselier and Vanhoucke’s 23 real project data (see Table 4(b) ). Table 4. Table of analysis of variances for real project plans. (a) Summary of the ANOVA table for Boctor’s 22 synthetic project plans (adjusted R squared value: 0.5300) Variables Df Sum Sq Mean Sq F value Pr( > F ) Sig. R 2 % Flexibility rates 1 1.4480 1.4480 936.983 < 2 e − 16 *** 86.40 Numbers of tasks 1 0.2276 0.2276 147.298 < 2 e − 16 *** 13.58 Numbers of resources 1 0.0004 0.0004 0.251 0.616 0.02 Residuals 956 1.4774 0.15 (b) Summary of the ANOVA table for Bates et al.’s 26 real project plans (adjusted R square: 0.1168) Variables Df Sum Sq Mean Sq F value Pr( > F ) Sig. R 2 % Flexibility rates 1 2.575 2.5748 44.969 5.47e-11 *** 65.20 Numbers of tasks 1 0.082 0.0819 1.431 0.232 1.45 Numbers of resources 1 1.292 1.2922 22.569 2.66e-06 *** 33.35 Residuals 496 28.399 0.0573 In the case of the synthetic and real project databases, the completion modes were the same in all cases, so their effects are not shown in Table 4 . In the case of real projects, only one completion mode was defined, so if the flexibility rate was low, only traditional approaches could be used; however, if the flexibility rate was high, agile approaches could be used. For the synthetic project database, four completion modes were defined, so the effects of traditional and hybrid approaches could be compared in these cases. In all the cases, the importance of the flexibility rate had the greatest impact on the possible reduction in project duration. The proposed mfpp package can also be used to conduct additional investigations regarding costs and resource requirements. Software description mfpp is a new R package for project managers to use to schedule traditional and flexible project plans. It compares different project management approaches with respect to their scheduling performance and risk mitigation to help decision makers choose the best project management approach. Additionally, when analyzing project libraries, scholars can analyze various project management approaches and their resilience to risks. This package uses existing R packages Matrix, 26 pracma 15 and Rfast 27 to generate the PDM and calculate project values; genalg 28 and nsga2R 29 for optimized resource allocation; and ggplot2 30 and igraph 31 to plot the project structure. The mfpp package is available for download from CRAN and Code Ocean. 32 A summary of the functions incorporated into this package is provided in Table 5 . Table 5. Summary of functions in the mfpp package. Function Description generatepdm Generates the project domain matrix (PDM) for a flexible project planning problem get.structures Calculates the minimal/maximal/most likely project structures is.flexible Checks the flexibility of the project data matrix maxscore_PEM Calculates the maximal score value (PMAX) of possible project scenarios minscore_PEM Calculates the minimal score value of possible project scenarios paretores Calculates the Pareto-optimal resource allocation percent Calculates the desired project completion characteristics of a project structure phase1 Simulates estimation uncertainty phase2 Simulates shock effects phase3 Simulates the effects of a change in customer claims plot.mfpp Plotting function for matrix-based flexible project planning summary.mfpp Prints project data matrix constraints, matrices, lists, sets, etc. tpc Calculates the cost demands of a project tpq Calculates the total project quality for a project structure tpr Calculates the maximum resource demands of a project tpt Evaluates the activity times(early start time, early finish time, late start time and late finish time) of a project truncpdm Function for dropping excluded tasks Databases related to project management Two project databases are directly included in this package. The first is the 22 database, which contains 240 simulated projects, all of which include four completion modes. This database can be used to test algorithms for the multimode resource-constrained project scheduling problem (MM-RC-PSP). The second database is provided by 23 and contains 125 real projects. These projects each include only one completion mode, but they also include the cost demands of the tasks. Use cases The implementation of the R package mfpp is demonstrated via (i) simulated project structures and (ii) a real-life dataset of project structures. The package must be loaded at the beginning of the session by typing the following: install.packages ( "mfpp" ) # Install mfpp package, if it is required library (mfpp) Simulated project structures Build fixed matrix-based projects and calculate their demands to support TPMa We start with the tpt function of the mfpp package to build fixed matrix-based projects and calculate their demands to support the TPMa. The LD specifies the structure of the project. The LD is an N-by-N (sub)matrix, where N is the number of tasks. The diagonal values represent the task priorities for task completion, where a value of 1 indicates a mandatory task, and a lower value indicates a supplementary task. The off-diagonal values represent the dependencies between tasks, where a value of 1 indicates a fixed dependency, and lower values indicate flexible dependencies between tasks. In the case of an acyclic graph, the LD can be reordered as an upper triangular matrix, which is assumed in this package. In the following example, a binary logic plan with one completion mode is specified. The tpt function determines the duration of the project (total project time, TPT) by calculating the task schedule, including time specifications such as early start time (EST), early finish time (EFT), late start time (LST), late finish time (LFT), scheduled start time (SST), and scheduled finish time (SFT) for each task. The plot function draws a Gantt chart for ESTs, LSTs, or SSTs. The LD and TD must be specified as necessary and sufficient arguments for this function. The output of the function is as follows: LD <- rbind ( c ( 1 , 0 , 1 ), c ( 0 , 1 , 0 ), c (0,0,1)) colnames (LD) <- rownames (LD) <- paste ( "a" , 1 : 3 , sep = "" ) TD <- c ( 3 , 4 , 5 ) TPT<- tpt (LD,TD) summary (TPT) ## ## ## Table of schedule ## Dur EST EFT LST LFT TF SST SFT SF Is.Crit ## a1 3 0 3 0 3 0 0 3 0 TRUE ## a2 4 0 4 4 8 4 0 4 4 FALSE ## a3 5 3 8 3 8 0 3 8 0 TRUE SST <- c ( 1 , 1 , 0 ) TPT <- tpt (LD,TD,SST) summary (TPT) ## ## ## Table of schedule ## Dur EST EFT LST LFT TF SST SFT SF Is.Crit ## a1 3 0 3 0 3 0 1 4 -1 TRUE ## a2 4 0 4 4 8 4 1 5 3 FALSE ## a3 5 3 8 3 8 0 4 9 -1 TRUE The plot of the schedule can be drawn as follows ( Figure 1(a) ): Next, we illustrate the use of the tpc , tpq and tpr functions to calculate the total project cost, the total project quality, and the total project resources. The tpr function calculates the maximal resource demands and can specify a resource graph. In these functions, the CD and QD are N-by-w matrices, whereas the RD is an N-by- ( w ∗ r ) matrix, where r is the number of resources. The CD is mandatory, whereas the QD and RD are optional matrices. The necessary arguments of these functions are the LD, CD, quality parameters (q), the QD with completion modes, and the RD. The output of this function for the given example is as follows: set.seed ( 6 ) CD <- c ( 10 , 20 , 24 ) cat ( " \n Total Project Cost (TPC): " , tpc (LD,CD)) ## ## Total Project Cost (TPC): 54 q <- runif ( 3 ) cat( " \n Total Project Quality (TPQ): " , tpq (LD,LD,q)) ## ## Total Project Quality (TPQ): 0.5316529 QD2 <- cbind (q, runif ( 3 )) # Generate two completion modes cat ( "\n Relative TPQ: " , tpq (LD,LD,q,QD2)) ## ## Relative TPQ: 0.7169994 RD <- round ( cbind ( runif ( 3 , min = 0 , max = 5 ), runif ( 3 , min = 0 , max = 5 ))) cat ( " \n\n Total Project Resources (TPR) \n\n " ) ## ## ## Total Project Resources (TPR) tpr(TPT $ SST,LD,TD,RD) ## R_1 R_2 ## TPR 9 8 A plot of the total project resources can be displayed with the additional argument “res.graph=TRUE”, and the output is shown in Figure 3(b) . tpr (TPT $ SST,LD,TD, res.graph = TRUE ) ## R_1 R_2 ## TPR 9 8 Figure 3. The scheduled Gantt chart and resource diagram for a binary logic plan with one completion mode. The total project resources are based on two resource domains ( R 1 and R 2 ) and are extracted by the mfpp package. Optimizing resource allocation is a combinatorial (NP-hard) problem; therefore, a metaheuristic method is used to minimize the maximum resource demands. In this case, the nondominated sorting genetic algorithm II (NSGA-II) method is used to minimize the maximum resource demands. In the case of multiple resources, a Pareto-optimal solution is found. The paretores function can help a project engineer determine the minimal resource demands while maintaining a specified project duration. The output of this function is shown in Figure 3(c) and in Figure 3(d) . The set of domains, namely, the set of the LD, TD and CD and optionally the QD and RD, specifies the PDM. A logic network can be constructed using this set of domains as follows: PDM <- cbind (LD,TD,CD,q,RD) class (PDM) <- "PDM_matrix" summary (PDM, w= 1 , Rs= 2 ) ## ## summary PDM matrix: ## a1 a2 a3 TD CD q ## a1 1 0 1 3 10 0.6062683 5 0 ## a2 0 1 0 4 20 0.9376420 4 3 ## a3 0 0 1 5 24 0.2643521 3 5 ## attr(,"class") ## [1] "PDM_matrix" ## ## Minimal constraints: ## ## Summary of the PDM constraints structure: ## ## Time constraint (Ct): 8 ## Const constraint (Cc): 54 ## Score/scope constraint (Cs): 1 ## Quality constraint (Cq): 0.5316529 ## ## Maximal constraints: ## ## Summary of the PDM constraints structure: ## ## Time constraint (Ct): 8 ## Const constraint (Cc): 54 ## Score/scope constraint (Cs): 1 ## Quality constraint (Cq): 0.5316529 ## Resource constraint(s) (CR): ## R_1 R_2 ## TPR 9 8 Generation of a flexible project network to support the HPMa The HPMa combines features of the TPMa (multiple completion modes), APMa (a flexible project structure), and XPMa (new, unplanned tasks). Project plans that support the HPMa can also be designed using the proposed mfpp package. For this purpose, the first function needed is generatepdm. The input arguments of this function are the number of tasks (N); the flexibility factor (ff); the connectivity factor (cf); the maximum values of the TD (mTD), CD (mCD), and RD (mRD); the number of modes (w); the number of resources (nR); the number of possible extra tasks (nW); and the scale and QD of the project scenario. The function returns either the PDM only or a PDM list that also contains the number of completion modes (w) and the number of resources (Rs). Consider a flexible plan with 4 planned tasks, 2 completion modes and 2 resources. The project schedule generated via the HPMa is as follows: # Generation of a PDM for flexible project planning with the MFPP package. # Define the number of modes, flexibility factor and connectivity factor of a project scenario . N= 5 ;ff= 0.30 ;cf= 0 # Define the maximum values of the time domain, cost domain and resource domain of a project scenario. mTD= 3 ;mCD= 4 ;mRD= 3 # Define the number of modes, number of resources, number of possible extra tasks (nW), scale and # quality domain of a project scenario. w= 2 ;nR= 2 ;nW=1 scale= 1.6 PDM <- generatepdm (N,ff,cf,mTD,mCD,mRD,w,nR,nW, scale,QD= TRUE ,lst= TRUE ) rownames (PDM $ PDM) <- colnames (PDM $ PDM)[ 1 :(N+nW)] <- paste ( "a" , 1 :(N+nW), sep = "" ) summary (PDM) # Summary of PDM list ## ## Summary of the PDM list: ## ## Number of completion modes (w): 2 ## Number of resources (Rs): 2 ## Summary PDM: ## a1 a2 a3 a4 a5 a6 t_1 t_2 c_1 ## a1 1 0.6348251 0.0000000 1.0000000 0 0 1.8922066 2.206381 2.9384623 ## a2 0 1.0000000 1.0000000 0.0000000 0 0 0.1397774 0.160757 0.5917513 ## a3 0 0.0000000 0.9458257 0.0000000 0 0 2.7119461 2.784497 3.1012793 ## a4 0 0.0000000 0.0000000 0.7420972 0 0 1.8202474 1.896929 0.5478731 ## a5 0 0.0000000 0.0000000 0.0000000 1 0 2.6490032 2.922064 2.3434704 ## a6 0 0.0000000 0.0000000 0.0000000 0 0 0.0000000 0.000000 0.0000000 ## c_2 q_1 q_2 r_1.1 r_2.1 r_1.2 r_2.2 ## a1 2.9456676 0.4591163 0.4597432 1.7602166 1.767857 0.7749634 0.8299197 ## a2 0.7051308 0.2476199 0.2898660 0.9645262 1.109172 1.9847076 2.0104963 ## a3 3.8735180 0.3979600 0.4327975 2.3338386 2.723688 2.3193125 2.3997095 ## a4 0.6072272 0.2989701 0.3343502 1.8691629 2.192587 2.5611961 2.9716221 ## a5 2.5560046 0.4891549 0.5480301 2.2484773 2.280209 2.2384662 2.4961772 ## a6 0.0000000 0.0000000 0.0000000 0.0000000 0.000000 0.0000000 0.0000000 ## attr(,"class") ## [1] "PDM_matrix" ## ## Minimal constraints: ## ## Summary of the PDM constraint structure: ## ## Time constraint (Ct): 2.711946 ## Const constraint (Cc): 5.873684 ## Score/scope constraint (Cs): 0.4907664 ## Quality constraint (Cq): 0.1039251 ## ## Maximal constraints: ## ## Summary of the PDM constraint structure: ## ## Time constraint (Ct): 2.945254 ## Const constraint (Cc): 10.68755 ## Score/scope constraint (Cs): 0.9427112 ## Quality constraint (Cq): 0.3830448 ## Resource constraint(s) (CR): ## R_1 R_2 ## TPR 7.196484 7.867509 The main components of flexible project structures can be shown with the plot function of the mfpp package; these structures are defined as follows. Minimal structure: This structure contains only mandatory tasks and fixed dependencies. It provides the lowest quality, cost, and time demands when the lowest quality, lowest cost, and shortest completion modes are specified for each task. Maximal structure: This structure includes mandatory and supplementary tasks as well as fixed and flexible dependencies. It provides the highest quality, greatest cost, and greatest time demands when the highest quality, greatest cost, and longest completion modes are specified for each task. Minimax structure: This structure contains only mandatory tasks but both fixed and flexible dependencies. It can provide the lowest resource demands. Maximin structure: This structure contains both mandatory and supplementary tasks but only fixed dependencies. It can provide the greatest resource demands. Most likely structure: Rounding the values of the LD yields the most likely structure. The plot of the PDM structure is shown in Figure 4(a) below. Figure 4. Logic structure (a) and minimal and maximal constraints (b) of the hybrid project; Gantt chart (c) and resource graph (d) of the optimal schedule for completion mode 1. The plot of the constraints is as follows in Figure 2(b) . The most likely/most desired structures of the project for multiple modes can be determined using mfpp . The input and output are as follows: PSM_list<- get.structures (PDM, type = "most" ) $ moststruct summary (PSM_list) ## ## summary PDM list: ## ## Number of completion modes (w): 2 ## Number of resources (Rs): 2 ## summary PDM matrix: ## a1 a2 a3 a4 a5 a6 t_1 t_2 c_1 c_2 q_1 q_2 ## a1 1 1 0 1 0 0 1.8922066 2.206381 2.9384623 2.9456676 0.4591163 0.4597432 ## a2 0 1 1 0 0 0 0.1397774 0.160757 0.5917513 0.7051308 0.2476199 0.2898660 ## a3 0 0 1 0 0 0 2.7119461 2.784497 3.1012793 3.8735180 0.3979600 0.4327975 ## a4 0 0 0 1 0 0 1.8202474 1.896929 0.5478731 0.6072272 0.2989701 0.3343502 ## a5 0 0 0 0 1 0 2.6490032 2.922064 2.3434704 2.5560046 0.4891549 0.5480301 ## a6 0 0 0 0 0 0 0.0000000 0.000000 0.0000000 0.0000000 0.0000000 0.0000000 ## r_1.1 r_2.1 r_1.2 r_2.2 ## a1 1.7602166 1.767857 0.7749634 0.8299197 ## a2 0.9645262 1.109172 1.9847076 2.0104963 ## a3 2.3338386 2.723688 2.3193125 2.3997095 ## a4 1.8691629 2.192587 2.5611961 2.9716221 ## a5 2.2484773 2.280209 2.2384662 2.4961772 ## a6 0.0000000 0.000000 0.0000000 0.0000000 ## attr(,"class") ## [1] "PDM_matrix" ## ## Minimal constraints: ## ## Summary of the PDM constraints structure: ## ## Time constraint (Ct): 2.851723 ## Const constraint (Cc): 9.522836 ## Score/scope constraint (Cs): 1 ## Quality constraint (Cq): 0.3665425 ## ## Maximal constraints: ## ## Summary of the PDM constraints structure: ## ## Time constraint (Ct): 2.945254 ## Const constraint (Cc): 10.68755 ## Score/scope constraint (Cs): 1 ## Quality constraint (Cq): 0.4025323 ## Resource constraint(s) (CR): ## R_1 R_2 ## TPR 7.196484 7.867509 The optimal schedules for different completion modes can be calculated via the paretores and truncpdm functions by dropping excluded tasks and their demands. The optimal resource allocation can be calculated after the completion modes are selected for each task, as follows: # Get PSM # Drop excluded tasks and their demands PSM<- round ( truncpdm (PSM_list $ PDM)) w<-PSM_list $ w # Get number of completion modes Rs<-PSM_list $ Rs # Get number of resources DSM<-PSM[, 1 : nrow (PSM)] # Get PSM # Get time demands (time domain, TD) TD<-PSM[, paste ( "t" , 1 :w, sep = "_" )] # Get resource demands (resource domain, RD) RD<-PSM[, tail ( colnames (PSM),w * Rs)] # Calculate optimal schedules for both completion modes RES1<- paretores (DSM,TD[,1],RD[,1:Rs]) RES2<- paretores (DSM,TD[,2],RD[,(Rs +1 ):( 2 * Rs)]) Figure 4(b) shows the Gantt chart, and Figure 4(c) shows the resource graph of the optimal schedule for completion mode 1. Project structure database In this section, Boctor’s publicly available 22 simulation database is used to demonstrate the applicability of mfpp . This database contains a collection of 240 projects with different names, numbers of completion modes (w) and numbers of resources (Rs). The details of the database can be retrieved via the summary function. However, we use project number 2 from this database, the details of which are as follows: name of project= boct10, w= 4 and Rs= 2. Any other project could also be used to obtain the optimal project structure and resources. Obtaining a project structure from the collection Figure 5(a) shows the original project structure, and Figure 5(b) shows the minimal/maximal constraints of project 2 from the Ref. 22 project collection. Figure 5. Logic network and minimal/maximal demands of the project with completion mode 4 in the Boctor database. The Gantt charts of the selected project for completion mode 1 are constructed by extracting the PDM and TD as follows (see Figure 6(a) ): Figure 6. Gantt chart of the selected project for the 1st completion mode scheduled by early starting time (a); after varying project demands (b-c) (see phase 1 and phase 2). Sensitivity analysis One of the most frequently used methods of project risk analysis is sensitivity analysis. The sensitivity analysis procedure in mfpp has three phases. Phase 1: Effects of uncertainty Phase 2: Effects of shocks Phase 3: Structural changes. Notably, phase 1 and phase 2 involve varying demands, whereas phase 3 varies the project structure. Phase 1 affects the entire project, while phases 2 and 3 affect only selected demands or structural elements. These phases can be applied in a sequential or parallel manner. The phases follow the logic of Ref. 5 . The mfpp package also analyzes the effects of uncertainty on the scheduled project via the phase1 and phase2 functions. Furthermore, the existing project plan can be modified to a flexible structure via the phase3 function in the developed package. These functions are also demonstrated on the project selected from the database. Effects of uncertainty Phase 1 analyzes the uncertainty of the estimation. Modified demands are generated in the interval ( [ o + a , o + b ] ) , where o is the original value. The random generator can be specified to follow either a uniform (default) or beta distribution. These modifications are applied to all types of demands for each task (compare Figures 6(a) , 6(b) , and 6(c) ). Effects of shocks Phase 2 simulates shock effects by increasing p percent of the task demands by a factor of up to s . Phase 2 investigates the effects of shocks, where not all task demands are changed but the changes are significant (see Figure 6(b) ). Structural changes In phase 3, P percent of the nodes ( i.e., tasks) or arcs ( i.e., dependencies) are selected to change the corresponding scores by up to the maximal change effect S . Phase 3 simulates changes in customer priorities and technological changes. In the case of S 0 increases priorities and can produce new dependencies (compare Figures 7(a) , 7(b) , and 7(c) ). Figure 7. Logic network of the original structure (a) with more dependencies (b) and with fewer restrictions (c) (see the phase 3 function). Limitations and future work To our knowledge, mfpp is the only package in R that can handle flexible dependencies and completion priorities of tasks; however, this package could be further developed in many ways. First, each dependency between tasks is considered a finish-to-start dependency. Although this is the most common dependency in practice, the implementation of additional possible dependencies would provide further application and research potential. Kosztyán and Novák 24 converted many more project databases into a matrix-based form. The integration of these databases into the mfpp package would offer further possibilities for investigation. The NSGA2 algorithm is used for optimization; however, another metaheuristic method could be employed to find optimal solutions. Conclusions The mfpp package was developed to provide users with a comprehensive set of functions that can be used to create matrix-based models for both traditional and flexible project management approaches. The presented package also compares different project management approaches regarding their scheduling performance and risk mitigation to help decision-makers choose the best project management approach. Moreover, when analyzing project libraries, scholars can analyze various project management approaches and their resilience to risks. The mfpp tool can help decision-makers determine which approaches are best for their requirements. Data availability Source data The mfpp package includes matrix-based versions of the publicly available Boctor 22 and Batseliers 23 project datasets. Software availability Source code available at: https://codeocean.com/capsule/5196188/tree/v1 Archived source code at the time of publication: https://doi.org/10.24433/CO.2915306.v1 32 License: MIT license mfpp can be installed via CRAN with install.packages(“mfpp”). mfpp is maintained at http://github.com/kzst/mfpp . References 1. Hartmann S, Briskorn D:An updated survey of variants and extensions of the resource-constrained project scheduling problem. Eur. J. Oper. Res. 2022; 297 (1): 1–14. Publisher Full Text 2. Servranckx T, Vanhoucke M:Strategies for project scheduling with alternative subgraphs under uncertainty: similar and dissimilar sets of schedules. Eur. J. Oper. Res. 2019; 279 (1): 38–53. Publisher Full Text 3. Kosztyán ZT:Exact algorithm for matrix-based project planning problems. Expert Syst. Appl. 2015; 42 (9): 4460–4473. Publisher Full Text 4. Kosztyán ZT, Szalkai I:Hybrid time-quality-cost trade-off problems. Oper. Res. Perspect. 2018; 5 : 306–318. Publisher Full Text 5. Kosztyán ZT, Jakab R, Novák G, et al. :Survive it! survival analysis of it project planning approaches. Oper. Res. Perspect. 2020; 7 : 100170. Publisher Full Text 6. Sekitoleko N, Evbota F, Knauss E, et al. :Technical dependency challenges in large-scale agile software development. Agile Processes in Software Engineering and Extreme Programming: 15th International Conference, XP 2014, Rome, Italy, May 26-30, 2014. Proceedings 15. Springer;2014; pp. 46–61. Publisher Full Text 7. Wysocki RK: Effective project management: traditional, agile, extreme. John Wiley & Sons;2011. 8. Wysocki RK: Effective project management: traditional, agile, extreme, hybrid. John Wiley & Sons;2019. 9. Kosztyán ZT, Novák G, Jakab R, et al. :A matrix-based flexible project-planning library and indicators. Expert Syst. Appl. 2023; 216 : 119472. Publisher Full Text 10. Franco-Duran DM, de la Garza JM :Review of resource-constrained scheduling algorithms. J. Constr. Eng. Manag. 2019; 145 (11): 03119006. Publisher Full Text 11. Brucker P, Drexl A, Möhring R, et al. :Resource-constrained project scheduling: Notation, classification, models, and methods. Eur. J. Oper. Res. 1999; 112 (1): 3–41. Publisher Full Text 12. Arya S, Kulkarni MS:A comprehensive study of agile project management tools. 2024 4th International Conference on Innovative Practices in Technology and Management (ICIPTM). 2024; pp. 1–6. 13. Ferreira T, Gutiérrez-Artacho J, Bernardino J:Freemium project management tools: Asana, freedcamp and ace project. Trends and Advances in Information Systems and Technologies. Vol. 16 . .Springer;2018; pp. 1026–1037. 14. Manko BA:The adaptability of monday. com’s app-based software: Discover the company building a flexible business model that adapts to individual company needs. J. Inf. Technol. Teach. Cases. 2022; 12 (2): 156–162. Publisher Full Text 15. Borchers HW, Borchers MHW:Package ’pracma’.2022. 16. Kosztyán ZT:Mfpp: Matrix-based flexible project planning. SoftwareX. 2022; 17 : 100973. Publisher Full Text 17. Munoz JC:Plotprjnetworks: Useful networking tools for project management.2015. Reference Source 18. Kelley D:plan: Tools for project planning.2018. Reference Source . 19. Gonçalves-Dosantos JC, Garca-Jurado I, Costa J:Projectmanagement: an r package for managing projects. R J. 2020; 12 : 419–436. Publisher Full Text 20. Kosztyán ZT, Kiss J, et al. :Pem–a new matrix method for supporting the logic planning ofsoftware development projects. DSM 2010: Proceedings of the 12th International DSM Conference, Cambridge, UK, 22.-23.07. 2010. 2010; pp. 97–110. 21. Tang D, Zhu R, Tang J, et al. :Product design knowledge management based on design structure matrix. Adv. Eng. Inform. 2010; 24 (2): 159–166. Publisher Full Text 22. Boctor FF:Heuristics for scheduling projects with resource restrictions and several resource-duration modes. Int. J. Prod. Res. 1993; 31 (11): 2547–2558. Publisher Full Text 23. Batselier J, Vanhoucke M:Construction and evaluation framework for a real-life project database. Int. J. Proj. Manag. 2015; 33 (3): 697–710. Publisher Full Text 24. Kosztyán ZT, Novák GL:Compound matrix-based project database (cmpd). Sci. Data. 2024; 11 (1): 319. PubMed Abstract | Publisher Full Text | Free Full Text 25. Kosztyán ZT, Novák GL:Project indicators and flexible project structure generators. J. Comput. Sci. 2024; 75 : 102203. Publisher Full Text 26. Bates D, Maechler M, Maechler MM:Package ’matrix’. R package version. 2017; pp. 1–2. 27. Papadakis M, Tsagris M, Dimitriadis M, Fafalios S:Maintainer Manos Papadakis, LinkingTo Rcpp, and TRUE LazyData. Package ’rfast’.2021. (accessed 6.1. 21). Reference Source 28. Willighagen E, Ballings M, Ballings MM:Package ’genalg’.2015. Published online, 825. 29. Tsou C-SV, Lee MM-CA:Package ’nsga2r’. Citeseer studies. 2013. 30. Wickham H, Chang W, Wickham MH:Package ’ggplot2’. Create elegant data visualisations using the grammar of graphics. Version. 2016; 2 (1): 1–189. 31. Csardi MG:Package ’igraph’.2013. Last accessed, 3(09): 2013. 32. Kosztyán ZT, Saghir A:The mfpp package in r.07 2023. Publisher Full Text Reference Source Comments on this article Comments (0) Version 2 VERSION 2 PUBLISHED 23 Apr 2024 ADD YOUR COMMENT Comment Author details Author details 1 Department of Quantitative Methods, University of Pannonia, Veszprém, Veszprém, 8200, Hungary 2 Department of Statistics, Mirpur University of Science and Technology, Mirpur, Khyber Pakhtunkhwa, Pakistan Zsolt Tibor Kosztyán Roles: Conceptualization, Funding Acquisition, Resources, Software, Visualization, Writing – Original Draft Preparation Aamir Saghir Roles: Data Curation, Software, Validation, Writing – Original Draft Preparation Competing interests No competing interests were disclosed. Grant information This work has been implemented by the TKP2021-NVA-10 project with 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. Zsolt T. Kosztyán's research contribution supported by Project no. K 142395 has been implemented with the support provided by the Ministry of Culture and Innovation of Hungary from the National Research, Development and Innovation Fund, financed under the K_22 ``OTKA'' funding scheme. The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript. Article Versions (2) version 2 Revised Published: 12 Sep 2024, 13:356 https://doi.org/10.12688/f1000research.143144.2 version 1 Published: 23 Apr 2024, 13:356 https://doi.org/10.12688/f1000research.143144.1 Copyright © 2024 Kosztyán ZT and Saghir A. This is an open access article distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Download Export To Sciwheel Bibtex EndNote ProCite Ref. Manager (RIS) Sente metrics Views Downloads F1000Research - - PubMed Central info_outline Data from PMC are received and updated monthly. - - Citations open_in_new 0 open_in_new 0 open_in_new SEE MORE DETAILS CITE how to cite this article Kosztyán ZT and Saghir A. {MFPP(R). An R package for matrix-based flexible project planning [version 2; peer review: 2 approved, 1 approved with reservations, 1 not approved] . F1000Research 2024, 13 :356 ( https://doi.org/10.12688/f1000research.143144.2 ) NOTE: If applicable, it is important to ensure the information in square brackets after the title is included in all citations of this article. COPY CITATION DETAILS track receive updates on this article Track an article to receive email alerts on any updates to this article. TRACK THIS ARTICLE Share Open Peer Review Current Reviewer Status: ? Key to Reviewer Statuses VIEW HIDE Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions Version 2 VERSION 2 PUBLISHED 12 Sep 2024 Revised Views 0 Cite How to cite this report: Aghileh M. Reviewer Report For: {MFPP(R). An R package for matrix-based flexible project planning [version 2; peer review: 2 approved, 1 approved with reservations, 1 not approved] . F1000Research 2024, 13 :356 ( https://doi.org/10.5256/f1000research.170545.r418367 ) The direct URL for this report is: https://f1000research.com/articles/13-356/v2#referee-response-418367 NOTE: it is important to ensure the information in square brackets after the title is included in this citation. Close Copy Citation Details Reviewer Report 15 Nov 2025 Marzieh Aghileh , University of Minho, Guimarães, Portugal Approved VIEWS 0 https://doi.org/10.5256/f1000research.170545.r418367 Update references to recent literature Increase the number of references Several references are authored by Kosztyán and co-authors (2015, 2018, 2020, 2023). While relevant, the paper would be stronger if it included more ... Continue reading READ ALL Update references to recent literature Increase the number of references Several references are authored by Kosztyán and co-authors (2015, 2018, 2020, 2023). While relevant, the paper would be stronger if it included more independent validation from other researchers. Currently only a few limitations are listed. Add discussion on: Data availability and the difficulty of validating with real-world projects. Is the rationale for developing the new software tool clearly explained? Yes Is the description of the software tool technically sound? Yes Are sufficient details of the code, methods and analysis (if applicable) provided to allow replication of the software development and its use by others? Yes Is sufficient information provided to allow interpretation of the expected output datasets and any results generated using the tool? Yes Are the conclusions about the tool and its performance adequately supported by the findings presented in the article? Yes Competing Interests: No competing interests were disclosed. Reviewer Expertise: Project scheduling, Resource constraint, Project Management, Uncertainty, Resource Flexibility I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard. Close READ LESS CITE CITE HOW TO CITE THIS REPORT Aghileh M. Reviewer Report For: {MFPP(R). An R package for matrix-based flexible project planning [version 2; peer review: 2 approved, 1 approved with reservations, 1 not approved] . F1000Research 2024, 13 :356 ( https://doi.org/10.5256/f1000research.170545.r418367 ) The direct URL for this report is: https://f1000research.com/articles/13-356/v2#referee-response-418367 NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article. COPY CITATION DETAILS Report a concern Respond or Comment COMMENT ON THIS REPORT Views 0 Cite How to cite this report: Blaskovics B. Reviewer Report For: {MFPP(R). An R package for matrix-based flexible project planning [version 2; peer review: 2 approved, 1 approved with reservations, 1 not approved] . F1000Research 2024, 13 :356 ( https://doi.org/10.5256/f1000research.170545.r323048 ) The direct URL for this report is: https://f1000research.com/articles/13-356/v2#referee-response-323048 NOTE: it is important to ensure the information in square brackets after the title is included in this citation. Close Copy Citation Details Reviewer Report 15 Nov 2025 Bálint Blaskovics , Corvinus University of Budapest, Budapest, Hungary Approved VIEWS 0 https://doi.org/10.5256/f1000research.170545.r323048 The authors did an excellent job to address my comments. Now I think both academics and practitioners could benefit from this paper (especially those who are operating in engineering). All in all, I'm satisfied and I'd like to thank you ... Continue reading READ ALL The authors did an excellent job to address my comments. Now I think both academics and practitioners could benefit from this paper (especially those who are operating in engineering). All in all, I'm satisfied and I'd like to thank you for the opporunity to review this. Competing Interests: No competing interests were disclosed. Reviewer Expertise: project management I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard. Close READ LESS CITE CITE HOW TO CITE THIS REPORT Blaskovics B. Reviewer Report For: {MFPP(R). An R package for matrix-based flexible project planning [version 2; peer review: 2 approved, 1 approved with reservations, 1 not approved] . F1000Research 2024, 13 :356 ( https://doi.org/10.5256/f1000research.170545.r323048 ) The direct URL for this report is: https://f1000research.com/articles/13-356/v2#referee-response-323048 NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article. COPY CITATION DETAILS Report a concern Respond or Comment COMMENT ON THIS REPORT Version 1 VERSION 1 PUBLISHED 23 Apr 2024 Views 0 Cite How to cite this report: Blaskovics B. Reviewer Report For: {MFPP(R). An R package for matrix-based flexible project planning [version 2; peer review: 2 approved, 1 approved with reservations, 1 not approved] . F1000Research 2024, 13 :356 ( https://doi.org/10.5256/f1000research.156774.r292541 ) The direct URL for this report is: https://f1000research.com/articles/13-356/v1#referee-response-292541 NOTE: it is important to ensure the information in square brackets after the title is included in this citation. Close Copy Citation Details Reviewer Report 05 Jul 2024 Bálint Blaskovics , Corvinus University of Budapest, Budapest, Hungary Approved with Reservations VIEWS 0 https://doi.org/10.5256/f1000research.156774.r292541 The paper addresses an interesting topic, namely how can we apply R for project planning for non-predictive projects as well. The authors start with a brief and focused introduction, however, I would welcome a bit more about time plotting techniques, ... Continue reading READ ALL The paper addresses an interesting topic, namely how can we apply R for project planning for non-predictive projects as well. The authors start with a brief and focused introduction, however, I would welcome a bit more about time plotting techniques, and non-predictive project management approaches to provide the necessary background for the next sections (or at least about the different, non-deterministic scheduling techniques). I would also welcome more about either the research gap or the comparison of the different software packages in order to evaluate the results more. I would also dedicate a bit more time to how this can be beneficial for future studies and/or the use case of programming in this way. All in all, I think it is a well-based, scientific paper, however, I would welcome a bit more changes in order to be consumable for everyone who is interested in the topic. Is the rationale for developing the new software tool clearly explained? Partly Is the description of the software tool technically sound? Yes Are sufficient details of the code, methods and analysis (if applicable) provided to allow replication of the software development and its use by others? Yes Is sufficient information provided to allow interpretation of the expected output datasets and any results generated using the tool? Partly Are the conclusions about the tool and its performance adequately supported by the findings presented in the article? Partly Competing Interests: No competing interests were disclosed. Reviewer Expertise: project management I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard, however I have significant reservations, as outlined above. Close READ LESS CITE CITE HOW TO CITE THIS REPORT Blaskovics B. Reviewer Report For: {MFPP(R). An R package for matrix-based flexible project planning [version 2; peer review: 2 approved, 1 approved with reservations, 1 not approved] . F1000Research 2024, 13 :356 ( https://doi.org/10.5256/f1000research.156774.r292541 ) The direct URL for this report is: https://f1000research.com/articles/13-356/v1#referee-response-292541 NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article. COPY CITATION DETAILS Report a concern Author Response 12 Sep 2024 Zsolt Tibor Kosztyán , Department of Quantitative Methods, University of Pannonia, Veszprém, 8200, Hungary 12 Sep 2024 Author Response Dear Dr. Bálint Blaskovics, Thank you for the valuable remarks. According to your remarks and those of the other reviewers, we have thoroughly revised the manuscript. All the remarks ... Continue reading Dear Dr. Bálint Blaskovics, Thank you for the valuable remarks. According to your remarks and those of the other reviewers, we have thoroughly revised the manuscript. All the remarks were addressed. The responses are shown in red. In the revised manuscript, insertions are shown in blue, and deletions are shown in red. Sincerely, The Authors Q.1: The paper addresses an interesting topic, namely how can we apply R for project planning for non-predictive projects as well. The authors start with a brief and focused introduction, however, I would welcome a bit more about time plotting techniques, and non-predictive project management approaches to provide the necessary background for the next sections (or at least about the different, non-deterministic scheduling techniques). I would also welcome more about either the research gap or the comparison of the different software packages in order to evaluate the results more. I would also dedicate a bit more time to how this can be beneficial for future studies and/or the use case of programming in this way. All in all, I think it is a well-based, scientific paper, however, I would welcome a bit more changes in order to be consumable for everyone who is interested in the topic. Response: The paper has been fully revised. Nondeterministic techniques are briefly introduced. However, most nondeterministic scheduling techniques, such as discrete, continuous and stochastic time‒cost tradeoff methods, where more than one technology is used or where the exact time demands are not known, can be considered flexible; therefore, they are detailed along with the other considered types of flexibility. Our contributions to the literature are stated, and the limitations of our methods are also specified. Dear Dr. Bálint Blaskovics, Thank you for the valuable remarks. According to your remarks and those of the other reviewers, we have thoroughly revised the manuscript. All the remarks were addressed. The responses are shown in red. In the revised manuscript, insertions are shown in blue, and deletions are shown in red. Sincerely, The Authors Q.1: The paper addresses an interesting topic, namely how can we apply R for project planning for non-predictive projects as well. The authors start with a brief and focused introduction, however, I would welcome a bit more about time plotting techniques, and non-predictive project management approaches to provide the necessary background for the next sections (or at least about the different, non-deterministic scheduling techniques). I would also welcome more about either the research gap or the comparison of the different software packages in order to evaluate the results more. I would also dedicate a bit more time to how this can be beneficial for future studies and/or the use case of programming in this way. All in all, I think it is a well-based, scientific paper, however, I would welcome a bit more changes in order to be consumable for everyone who is interested in the topic. Response: The paper has been fully revised. Nondeterministic techniques are briefly introduced. However, most nondeterministic scheduling techniques, such as discrete, continuous and stochastic time‒cost tradeoff methods, where more than one technology is used or where the exact time demands are not known, can be considered flexible; therefore, they are detailed along with the other considered types of flexibility. Our contributions to the literature are stated, and the limitations of our methods are also specified. Competing Interests: No competing interests were disclosed. Close Report a concern Respond or Comment COMMENTS ON THIS REPORT Author Response 12 Sep 2024 Zsolt Tibor Kosztyán , Department of Quantitative Methods, University of Pannonia, Veszprém, 8200, Hungary 12 Sep 2024 Author Response Dear Dr. Bálint Blaskovics, Thank you for the valuable remarks. According to your remarks and those of the other reviewers, we have thoroughly revised the manuscript. All the remarks ... Continue reading Dear Dr. Bálint Blaskovics, Thank you for the valuable remarks. According to your remarks and those of the other reviewers, we have thoroughly revised the manuscript. All the remarks were addressed. The responses are shown in red. In the revised manuscript, insertions are shown in blue, and deletions are shown in red. Sincerely, The Authors Q.1: The paper addresses an interesting topic, namely how can we apply R for project planning for non-predictive projects as well. The authors start with a brief and focused introduction, however, I would welcome a bit more about time plotting techniques, and non-predictive project management approaches to provide the necessary background for the next sections (or at least about the different, non-deterministic scheduling techniques). I would also welcome more about either the research gap or the comparison of the different software packages in order to evaluate the results more. I would also dedicate a bit more time to how this can be beneficial for future studies and/or the use case of programming in this way. All in all, I think it is a well-based, scientific paper, however, I would welcome a bit more changes in order to be consumable for everyone who is interested in the topic. Response: The paper has been fully revised. Nondeterministic techniques are briefly introduced. However, most nondeterministic scheduling techniques, such as discrete, continuous and stochastic time‒cost tradeoff methods, where more than one technology is used or where the exact time demands are not known, can be considered flexible; therefore, they are detailed along with the other considered types of flexibility. Our contributions to the literature are stated, and the limitations of our methods are also specified. Dear Dr. Bálint Blaskovics, Thank you for the valuable remarks. According to your remarks and those of the other reviewers, we have thoroughly revised the manuscript. All the remarks were addressed. The responses are shown in red. In the revised manuscript, insertions are shown in blue, and deletions are shown in red. Sincerely, The Authors Q.1: The paper addresses an interesting topic, namely how can we apply R for project planning for non-predictive projects as well. The authors start with a brief and focused introduction, however, I would welcome a bit more about time plotting techniques, and non-predictive project management approaches to provide the necessary background for the next sections (or at least about the different, non-deterministic scheduling techniques). I would also welcome more about either the research gap or the comparison of the different software packages in order to evaluate the results more. I would also dedicate a bit more time to how this can be beneficial for future studies and/or the use case of programming in this way. All in all, I think it is a well-based, scientific paper, however, I would welcome a bit more changes in order to be consumable for everyone who is interested in the topic. Response: The paper has been fully revised. Nondeterministic techniques are briefly introduced. However, most nondeterministic scheduling techniques, such as discrete, continuous and stochastic time‒cost tradeoff methods, where more than one technology is used or where the exact time demands are not known, can be considered flexible; therefore, they are detailed along with the other considered types of flexibility. Our contributions to the literature are stated, and the limitations of our methods are also specified. Competing Interests: No competing interests were disclosed. Close Report a concern COMMENT ON THIS REPORT Views 0 Cite How to cite this report: Kolos Á. Reviewer Report For: {MFPP(R). An R package for matrix-based flexible project planning [version 2; peer review: 2 approved, 1 approved with reservations, 1 not approved] . F1000Research 2024, 13 :356 ( https://doi.org/10.5256/f1000research.156774.r284888 ) The direct URL for this report is: https://f1000research.com/articles/13-356/v1#referee-response-284888 NOTE: it is important to ensure the information in square brackets after the title is included in this citation. Close Copy Citation Details Reviewer Report 04 Jul 2024 Ágoston Kolos , Corvinus University, Budapest, Hungary Approved with Reservations VIEWS 0 https://doi.org/10.5256/f1000research.156774.r284888 I expect that the methodology used is not well known to R users in general. Therefore, a short but precise mathematical formulation of the models (TPMa, APMa, XPMa, HPMa) is needed. I think the authors can do this in the ... Continue reading READ ALL I expect that the methodology used is not well known to R users in general. Therefore, a short but precise mathematical formulation of the models (TPMa, APMa, XPMa, HPMa) is needed. I think the authors can do this in the appendix or provide an external article or link. In the latter case, it is important to give a reference to another source where the description of the model is clear and precise (not a general overview). There are typos in the user manual ("Sumulated project database") Is the rationale for developing the new software tool clearly explained? Partly Is the description of the software tool technically sound? Yes Are sufficient details of the code, methods and analysis (if applicable) provided to allow replication of the software development and its use by others? Partly Is sufficient information provided to allow interpretation of the expected output datasets and any results generated using the tool? Yes Are the conclusions about the tool and its performance adequately supported by the findings presented in the article? Yes Competing Interests: No competing interests were disclosed. Reviewer Expertise: Operations research I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard, however I have significant reservations, as outlined above. Close READ LESS CITE CITE HOW TO CITE THIS REPORT Kolos Á. Reviewer Report For: {MFPP(R). An R package for matrix-based flexible project planning [version 2; peer review: 2 approved, 1 approved with reservations, 1 not approved] . F1000Research 2024, 13 :356 ( https://doi.org/10.5256/f1000research.156774.r284888 ) The direct URL for this report is: https://f1000research.com/articles/13-356/v1#referee-response-284888 NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article. COPY CITATION DETAILS Report a concern Author Response 12 Sep 2024 Zsolt Tibor Kosztyán , Department of Quantitative Methods, University of Pannonia, Veszprém, 8200, Hungary 12 Sep 2024 Author Response Dear Dr. Ágoston Kolos, Thank you for the valuable remarks. According to your and the other reviewers’ remarks, we have thoroughly revised the manuscript. All the remarks were addressed. ... Continue reading Dear Dr. Ágoston Kolos, Thank you for the valuable remarks. According to your and the other reviewers’ remarks, we have thoroughly revised the manuscript. All the remarks were addressed. The responses are shown in red. In the revised manuscript, insertions are shown in blue, and deletions are shown in red. Sincerely, The Authors Q.1: I expect that the methodology used is not well known to R users in general. Therefore, a short but precise mathematical formulation of the models (TPMa, APMa, XPMa, HPMa) is needed. I think the authors can do this in the appendix or provide an external article or link. In the latter case, it is important to give a reference to another source where the description of the model is clear and precise (not a general overview). Response: The paper has been fully revised. We present the problem and refer to a publication containing the details. Dear Dr. Ágoston Kolos, Thank you for the valuable remarks. According to your and the other reviewers’ remarks, we have thoroughly revised the manuscript. All the remarks were addressed. The responses are shown in red. In the revised manuscript, insertions are shown in blue, and deletions are shown in red. Sincerely, The Authors Q.1: I expect that the methodology used is not well known to R users in general. Therefore, a short but precise mathematical formulation of the models (TPMa, APMa, XPMa, HPMa) is needed. I think the authors can do this in the appendix or provide an external article or link. In the latter case, it is important to give a reference to another source where the description of the model is clear and precise (not a general overview). Response: The paper has been fully revised. We present the problem and refer to a publication containing the details. Competing Interests: No competing interests were disclosed. Close Report a concern Respond or Comment COMMENTS ON THIS REPORT Author Response 12 Sep 2024 Zsolt Tibor Kosztyán , Department of Quantitative Methods, University of Pannonia, Veszprém, 8200, Hungary 12 Sep 2024 Author Response Dear Dr. Ágoston Kolos, Thank you for the valuable remarks. According to your and the other reviewers’ remarks, we have thoroughly revised the manuscript. All the remarks were addressed. ... Continue reading Dear Dr. Ágoston Kolos, Thank you for the valuable remarks. According to your and the other reviewers’ remarks, we have thoroughly revised the manuscript. All the remarks were addressed. The responses are shown in red. In the revised manuscript, insertions are shown in blue, and deletions are shown in red. Sincerely, The Authors Q.1: I expect that the methodology used is not well known to R users in general. Therefore, a short but precise mathematical formulation of the models (TPMa, APMa, XPMa, HPMa) is needed. I think the authors can do this in the appendix or provide an external article or link. In the latter case, it is important to give a reference to another source where the description of the model is clear and precise (not a general overview). Response: The paper has been fully revised. We present the problem and refer to a publication containing the details. Dear Dr. Ágoston Kolos, Thank you for the valuable remarks. According to your and the other reviewers’ remarks, we have thoroughly revised the manuscript. All the remarks were addressed. The responses are shown in red. In the revised manuscript, insertions are shown in blue, and deletions are shown in red. Sincerely, The Authors Q.1: I expect that the methodology used is not well known to R users in general. Therefore, a short but precise mathematical formulation of the models (TPMa, APMa, XPMa, HPMa) is needed. I think the authors can do this in the appendix or provide an external article or link. In the latter case, it is important to give a reference to another source where the description of the model is clear and precise (not a general overview). Response: The paper has been fully revised. We present the problem and refer to a publication containing the details. Competing Interests: No competing interests were disclosed. Close Report a concern COMMENT ON THIS REPORT Views 0 Cite How to cite this report: Jayasinghe S. Reviewer Report For: {MFPP(R). An R package for matrix-based flexible project planning [version 2; peer review: 2 approved, 1 approved with reservations, 1 not approved] . F1000Research 2024, 13 :356 ( https://doi.org/10.5256/f1000research.156774.r292539 ) The direct URL for this report is: https://f1000research.com/articles/13-356/v1#referee-response-292539 NOTE: it is important to ensure the information in square brackets after the title is included in this citation. Close Copy Citation Details Reviewer Report 29 Jun 2024 Shan Jayasinghe , Southampton Solent University, Southampton, England, UK Not Approved VIEWS 0 https://doi.org/10.5256/f1000research.156774.r292539 Thank you so much for the opportunity to review the paper. The paper makes the assertion that "while project planning and scheduling tools are already available to support traditional project management approaches, flexible project management, such as ... Continue reading READ ALL Thank you so much for the opportunity to review the paper. The paper makes the assertion that "while project planning and scheduling tools are already available to support traditional project management approaches, flexible project management, such as agile, extreme, and hybrid project planning, are only somewhat supported by computer algorithms." This claim is not accurate. Advanced project management tools such as JIRA, Asana, and Monday.com are backed by highly sophisticated algorithms and are widely used to manage adaptable projects across numerous multinational companies. The first paragraph does a satisfactory job of comparing traditional and adaptive project management approaches. However, the research gap of the paper is inadequately defined and needs to be more clearly established to strengthen the overall argument and relevance of the study. Apart from the above concern, the following improvements must be made to enhance the paper to a indexable level. -Include more recent studies and compare the proposed method with state-of-the-art project management tools. -Organize the methodology section with clear headings and subheadings. Use more diagrams to illustrate key concepts. -Conduct a more detailed performance evaluation of the mfpp package, comparing it with existing tools and discussing its scalability. -Include a discussion on the limitations of the proposed approach and potential areas for future work. -Ensure all references are complete and correctly formatted. -Ensure the manuscript is written in clear, concise language with appropriate academic tone and style. Revise for grammar, punctuation, and clarity to enhance readability and coherence. Is the rationale for developing the new software tool clearly explained? No Is the description of the software tool technically sound? No Are sufficient details of the code, methods and analysis (if applicable) provided to allow replication of the software development and its use by others? No Is sufficient information provided to allow interpretation of the expected output datasets and any results generated using the tool? No Are the conclusions about the tool and its performance adequately supported by the findings presented in the article? No Competing Interests: No competing interests were disclosed. Reviewer Expertise: project management, technology adoption, teaching and learning I confirm that I have read this submission and believe that I have an appropriate level of expertise to state that I do not consider it to be of an acceptable scientific standard, for reasons outlined above. Close READ LESS CITE CITE HOW TO CITE THIS REPORT Jayasinghe S. Reviewer Report For: {MFPP(R). An R package for matrix-based flexible project planning [version 2; peer review: 2 approved, 1 approved with reservations, 1 not approved] . F1000Research 2024, 13 :356 ( https://doi.org/10.5256/f1000research.156774.r292539 ) The direct URL for this report is: https://f1000research.com/articles/13-356/v1#referee-response-292539 NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article. COPY CITATION DETAILS Report a concern Author Response 12 Sep 2024 Zsolt Tibor Kosztyán , Department of Quantitative Methods, University of Pannonia, Veszprém, 8200, Hungary 12 Sep 2024 Author Response Dear Reviewer Dr. Shan Jayasinghe, Thank you for the valuable remarks. According to your remarks and those of the other reviewers, we have thoroughly revised the manuscript. We hope ... Continue reading Dear Reviewer Dr. Shan Jayasinghe, Thank you for the valuable remarks. According to your remarks and those of the other reviewers, we have thoroughly revised the manuscript. We hope that the academic standards of the revised manuscript have been improved to meet your expectations. All the remarks were addressed. The responses are shown in red. In the revised manuscript, insertions are shown in blue, and deletions are shown in red. Sincerely, The Authors Thank you so much for the opportunity to review the paper. Q.1: The paper makes the assertion that "while project planning and scheduling tools are already available to support traditional project management approaches, flexible project management, such as agile, extreme, and hybrid project planning, are only somewhat supported by computer algorithms." This claim is not accurate. Advanced project management tools such as JIRA, Asana, and Monday.com are backed by highly sophisticated algorithms and are widely used to manage adaptable projects across numerous multinational companies. Response: Thank you for the comment. We have clarified this statement both in the abstract and the introduction. You are correct. There are a few commercial project management software programs, such as JIRA, Asana, Wrike, Teamwork, Zoho Projects, and Monday.com, which support flexible project planning. The target audience of these software tools is professional users and not scholars. These software applications are not freely available. The algorithms for managing flexible projects in these applications are hidden from users. In general, they provide only the most likely solution and not all possible solutions, in contrast to the algorithms used here (Kosztyán-Szalkai 2018). Only with an implementation such as ours can the smallest and largest resource requirements and the smallest and largest possible time and cost demands be estimated. In addition, in R software, there is no package that is backed by sophisticated algorithms and can handle flexible project management, such as agile, extreme, or hybrid project planning. Q.2: The first paragraph does a satisfactory job of comparing traditional and adaptive project management approaches. However, the research gap of the paper is inadequately defined and needs to be more clearly established to strengthen the overall argument and relevance of the study. Response: The first part of the paper has been fully revised. The contributions of the paper are stated. The background of the method has been made more detailed. Q.3: Include more recent studies and compare the proposed method with state-of-the-art project management tools. Response: The revised paper refers to more recent studies and details the benefits of the proposed package. Q.4:Organize the methodology section with clear headings and subheadings. Use more diagrams to illustrate key concepts. Response: The methodology section “Brief summary of matrix-based project planning and risk analysis” has been added and revised. The new figure (Figure 1) compares the matrix-based plans of different types of project management approaches. Q.5: Conduct a more detailed performance evaluation of the mfpp package, comparing it with existing tools and discussing its scalability. Response: A new Experiments section has been provided to show the performance and possibilities of the mfpp packages. The main purpose of this section was to show researchers that such tests can be performed by presenting the proposed package. During the generation process, we also examined projects containing 500 activities. We allowed several execution methods and considered several types of resource requirements. The results are included in the Experiments section. Since existing tools cannot calculate all possible alternatives, the possible time reduction cannot be calculated. Q.6: Include a discussion on the limitations of the proposed approach and potential areas for future work. Response: In the revised paper, a new Limitations and Future Works section has been added. Q.7:Ensure all references are complete and correctly formatted. Response: Thank you. This has been corrected. Q.8: Ensure the manuscript is written in clear, concise language with appropriate academic tone and style. Revise for grammar, punctuation, and clarity to enhance readability and coherence. Response: Thank you. The final version was proofread by American Journal Experts. References: Kosztyán, Z. T., & Szalkai, I. (2018). Hybrid time-quality-cost trade-off problems. Operations Research Perspectives , 5 , 306-318. Dear Reviewer Dr. Shan Jayasinghe, Thank you for the valuable remarks. According to your remarks and those of the other reviewers, we have thoroughly revised the manuscript. We hope that the academic standards of the revised manuscript have been improved to meet your expectations. All the remarks were addressed. The responses are shown in red. In the revised manuscript, insertions are shown in blue, and deletions are shown in red. Sincerely, The Authors Thank you so much for the opportunity to review the paper. Q.1: The paper makes the assertion that "while project planning and scheduling tools are already available to support traditional project management approaches, flexible project management, such as agile, extreme, and hybrid project planning, are only somewhat supported by computer algorithms." This claim is not accurate. Advanced project management tools such as JIRA, Asana, and Monday.com are backed by highly sophisticated algorithms and are widely used to manage adaptable projects across numerous multinational companies. Response: Thank you for the comment. We have clarified this statement both in the abstract and the introduction. You are correct. There are a few commercial project management software programs, such as JIRA, Asana, Wrike, Teamwork, Zoho Projects, and Monday.com, which support flexible project planning. The target audience of these software tools is professional users and not scholars. These software applications are not freely available. The algorithms for managing flexible projects in these applications are hidden from users. In general, they provide only the most likely solution and not all possible solutions, in contrast to the algorithms used here (Kosztyán-Szalkai 2018). Only with an implementation such as ours can the smallest and largest resource requirements and the smallest and largest possible time and cost demands be estimated. In addition, in R software, there is no package that is backed by sophisticated algorithms and can handle flexible project management, such as agile, extreme, or hybrid project planning. Q.2: The first paragraph does a satisfactory job of comparing traditional and adaptive project management approaches. However, the research gap of the paper is inadequately defined and needs to be more clearly established to strengthen the overall argument and relevance of the study. Response: The first part of the paper has been fully revised. The contributions of the paper are stated. The background of the method has been made more detailed. Q.3: Include more recent studies and compare the proposed method with state-of-the-art project management tools. Response: The revised paper refers to more recent studies and details the benefits of the proposed package. Q.4:Organize the methodology section with clear headings and subheadings. Use more diagrams to illustrate key concepts. Response: The methodology section “Brief summary of matrix-based project planning and risk analysis” has been added and revised. The new figure (Figure 1) compares the matrix-based plans of different types of project management approaches. Q.5: Conduct a more detailed performance evaluation of the mfpp package, comparing it with existing tools and discussing its scalability. Response: A new Experiments section has been provided to show the performance and possibilities of the mfpp packages. The main purpose of this section was to show researchers that such tests can be performed by presenting the proposed package. During the generation process, we also examined projects containing 500 activities. We allowed several execution methods and considered several types of resource requirements. The results are included in the Experiments section. Since existing tools cannot calculate all possible alternatives, the possible time reduction cannot be calculated. Q.6: Include a discussion on the limitations of the proposed approach and potential areas for future work. Response: In the revised paper, a new Limitations and Future Works section has been added. Q.7:Ensure all references are complete and correctly formatted. Response: Thank you. This has been corrected. Q.8: Ensure the manuscript is written in clear, concise language with appropriate academic tone and style. Revise for grammar, punctuation, and clarity to enhance readability and coherence. Response: Thank you. The final version was proofread by American Journal Experts. References: Kosztyán, Z. T., & Szalkai, I. (2018). Hybrid time-quality-cost trade-off problems. Operations Research Perspectives , 5 , 306-318. Competing Interests: No competing interests were disclosed. Close Report a concern Respond or Comment COMMENTS ON THIS REPORT Author Response 12 Sep 2024 Zsolt Tibor Kosztyán , Department of Quantitative Methods, University of Pannonia, Veszprém, 8200, Hungary 12 Sep 2024 Author Response Dear Reviewer Dr. Shan Jayasinghe, Thank you for the valuable remarks. According to your remarks and those of the other reviewers, we have thoroughly revised the manuscript. We hope ... Continue reading Dear Reviewer Dr. Shan Jayasinghe, Thank you for the valuable remarks. According to your remarks and those of the other reviewers, we have thoroughly revised the manuscript. We hope that the academic standards of the revised manuscript have been improved to meet your expectations. All the remarks were addressed. The responses are shown in red. In the revised manuscript, insertions are shown in blue, and deletions are shown in red. Sincerely, The Authors Thank you so much for the opportunity to review the paper. Q.1: The paper makes the assertion that "while project planning and scheduling tools are already available to support traditional project management approaches, flexible project management, such as agile, extreme, and hybrid project planning, are only somewhat supported by computer algorithms." This claim is not accurate. Advanced project management tools such as JIRA, Asana, and Monday.com are backed by highly sophisticated algorithms and are widely used to manage adaptable projects across numerous multinational companies. Response: Thank you for the comment. We have clarified this statement both in the abstract and the introduction. You are correct. There are a few commercial project management software programs, such as JIRA, Asana, Wrike, Teamwork, Zoho Projects, and Monday.com, which support flexible project planning. The target audience of these software tools is professional users and not scholars. These software applications are not freely available. The algorithms for managing flexible projects in these applications are hidden from users. In general, they provide only the most likely solution and not all possible solutions, in contrast to the algorithms used here (Kosztyán-Szalkai 2018). Only with an implementation such as ours can the smallest and largest resource requirements and the smallest and largest possible time and cost demands be estimated. In addition, in R software, there is no package that is backed by sophisticated algorithms and can handle flexible project management, such as agile, extreme, or hybrid project planning. Q.2: The first paragraph does a satisfactory job of comparing traditional and adaptive project management approaches. However, the research gap of the paper is inadequately defined and needs to be more clearly established to strengthen the overall argument and relevance of the study. Response: The first part of the paper has been fully revised. The contributions of the paper are stated. The background of the method has been made more detailed. Q.3: Include more recent studies and compare the proposed method with state-of-the-art project management tools. Response: The revised paper refers to more recent studies and details the benefits of the proposed package. Q.4:Organize the methodology section with clear headings and subheadings. Use more diagrams to illustrate key concepts. Response: The methodology section “Brief summary of matrix-based project planning and risk analysis” has been added and revised. The new figure (Figure 1) compares the matrix-based plans of different types of project management approaches. Q.5: Conduct a more detailed performance evaluation of the mfpp package, comparing it with existing tools and discussing its scalability. Response: A new Experiments section has been provided to show the performance and possibilities of the mfpp packages. The main purpose of this section was to show researchers that such tests can be performed by presenting the proposed package. During the generation process, we also examined projects containing 500 activities. We allowed several execution methods and considered several types of resource requirements. The results are included in the Experiments section. Since existing tools cannot calculate all possible alternatives, the possible time reduction cannot be calculated. Q.6: Include a discussion on the limitations of the proposed approach and potential areas for future work. Response: In the revised paper, a new Limitations and Future Works section has been added. Q.7:Ensure all references are complete and correctly formatted. Response: Thank you. This has been corrected. Q.8: Ensure the manuscript is written in clear, concise language with appropriate academic tone and style. Revise for grammar, punctuation, and clarity to enhance readability and coherence. Response: Thank you. The final version was proofread by American Journal Experts. References: Kosztyán, Z. T., & Szalkai, I. (2018). Hybrid time-quality-cost trade-off problems. Operations Research Perspectives , 5 , 306-318. Dear Reviewer Dr. Shan Jayasinghe, Thank you for the valuable remarks. According to your remarks and those of the other reviewers, we have thoroughly revised the manuscript. We hope that the academic standards of the revised manuscript have been improved to meet your expectations. All the remarks were addressed. The responses are shown in red. In the revised manuscript, insertions are shown in blue, and deletions are shown in red. Sincerely, The Authors Thank you so much for the opportunity to review the paper. Q.1: The paper makes the assertion that "while project planning and scheduling tools are already available to support traditional project management approaches, flexible project management, such as agile, extreme, and hybrid project planning, are only somewhat supported by computer algorithms." This claim is not accurate. Advanced project management tools such as JIRA, Asana, and Monday.com are backed by highly sophisticated algorithms and are widely used to manage adaptable projects across numerous multinational companies. Response: Thank you for the comment. We have clarified this statement both in the abstract and the introduction. You are correct. There are a few commercial project management software programs, such as JIRA, Asana, Wrike, Teamwork, Zoho Projects, and Monday.com, which support flexible project planning. The target audience of these software tools is professional users and not scholars. These software applications are not freely available. The algorithms for managing flexible projects in these applications are hidden from users. In general, they provide only the most likely solution and not all possible solutions, in contrast to the algorithms used here (Kosztyán-Szalkai 2018). Only with an implementation such as ours can the smallest and largest resource requirements and the smallest and largest possible time and cost demands be estimated. In addition, in R software, there is no package that is backed by sophisticated algorithms and can handle flexible project management, such as agile, extreme, or hybrid project planning. Q.2: The first paragraph does a satisfactory job of comparing traditional and adaptive project management approaches. However, the research gap of the paper is inadequately defined and needs to be more clearly established to strengthen the overall argument and relevance of the study. Response: The first part of the paper has been fully revised. The contributions of the paper are stated. The background of the method has been made more detailed. Q.3: Include more recent studies and compare the proposed method with state-of-the-art project management tools. Response: The revised paper refers to more recent studies and details the benefits of the proposed package. Q.4:Organize the methodology section with clear headings and subheadings. Use more diagrams to illustrate key concepts. Response: The methodology section “Brief summary of matrix-based project planning and risk analysis” has been added and revised. The new figure (Figure 1) compares the matrix-based plans of different types of project management approaches. Q.5: Conduct a more detailed performance evaluation of the mfpp package, comparing it with existing tools and discussing its scalability. Response: A new Experiments section has been provided to show the performance and possibilities of the mfpp packages. The main purpose of this section was to show researchers that such tests can be performed by presenting the proposed package. During the generation process, we also examined projects containing 500 activities. We allowed several execution methods and considered several types of resource requirements. The results are included in the Experiments section. Since existing tools cannot calculate all possible alternatives, the possible time reduction cannot be calculated. Q.6: Include a discussion on the limitations of the proposed approach and potential areas for future work. Response: In the revised paper, a new Limitations and Future Works section has been added. Q.7:Ensure all references are complete and correctly formatted. Response: Thank you. This has been corrected. Q.8: Ensure the manuscript is written in clear, concise language with appropriate academic tone and style. Revise for grammar, punctuation, and clarity to enhance readability and coherence. Response: Thank you. The final version was proofread by American Journal Experts. References: Kosztyán, Z. T., & Szalkai, I. (2018). Hybrid time-quality-cost trade-off problems. Operations Research Perspectives , 5 , 306-318. Competing Interests: No competing interests were disclosed. Close Report a concern COMMENT ON THIS REPORT Comments on this article Comments (0) Version 2 VERSION 2 PUBLISHED 23 Apr 2024 ADD YOUR COMMENT Comment keyboard_arrow_left keyboard_arrow_right Open Peer Review Reviewer Status info_outline Alongside their report, reviewers assign a status to the article: Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions Reviewer Reports Invited Reviewers 1 2 3 4 Version 2 (revision) 12 Sep 24 read read Version 1 23 Apr 24 read read read Shan Jayasinghe , Southampton Solent University, Southampton, UK Ágoston Kolos , Corvinus University, Budapest, Hungary Bálint Blaskovics , Corvinus University of Budapest, Budapest, Hungary Marzieh Aghileh , University of Minho, Guimarães, Portugal Comments on this article All Comments (0) Add a comment Sign up for content alerts Sign Up You are now signed up to receive this alert Browse by related subjects keyboard_arrow_left Back to all reports Reviewer Report 0 Views copyright © 2025 Aghileh M. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. 15 Nov 2025 | for Version 2 Marzieh Aghileh , University of Minho, Guimarães, Portugal 0 Views copyright © 2025 Aghileh M. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. format_quote Cite this report speaker_notes Responses (0) Approved info_outline Alongside their report, reviewers assign a status to the article: Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions Update references to recent literature Increase the number of references Several references are authored by Kosztyán and co-authors (2015, 2018, 2020, 2023). While relevant, the paper would be stronger if it included more independent validation from other researchers. Currently only a few limitations are listed. Add discussion on: Data availability and the difficulty of validating with real-world projects. Is the rationale for developing the new software tool clearly explained? Yes Is the description of the software tool technically sound? Yes Are sufficient details of the code, methods and analysis (if applicable) provided to allow replication of the software development and its use by others? Yes Is sufficient information provided to allow interpretation of the expected output datasets and any results generated using the tool? Yes Are the conclusions about the tool and its performance adequately supported by the findings presented in the article? Yes Competing Interests No competing interests were disclosed. Reviewer Expertise Project scheduling, Resource constraint, Project Management, Uncertainty, Resource Flexibility I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard. reply Respond to this report Responses (0) Aghileh M. Peer Review Report For: {MFPP(R). An R package for matrix-based flexible project planning [version 2; peer review: 2 approved, 1 approved with reservations, 1 not approved] . F1000Research 2024, 13 :356 ( https://doi.org/10.5256/f1000research.170545.r418367) NOTE: it is important to ensure the information in square brackets after the title is included in this citation. The direct URL for this report is: https://f1000research.com/articles/13-356/v2#referee-response-418367 keyboard_arrow_left Back to all reports Reviewer Report 0 Views copyright © 2025 Blaskovics B. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. 15 Nov 2025 | for Version 2 Bálint Blaskovics , Corvinus University of Budapest, Budapest, Hungary 0 Views copyright © 2025 Blaskovics B. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. format_quote Cite this report speaker_notes Responses (0) Approved info_outline Alongside their report, reviewers assign a status to the article: Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions The authors did an excellent job to address my comments. Now I think both academics and practitioners could benefit from this paper (especially those who are operating in engineering). All in all, I'm satisfied and I'd like to thank you for the opporunity to review this. Competing Interests No competing interests were disclosed. Reviewer Expertise project management I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard. reply Respond to this report Responses (0) Blaskovics B. Peer Review Report For: {MFPP(R). An R package for matrix-based flexible project planning [version 2; peer review: 2 approved, 1 approved with reservations, 1 not approved] . F1000Research 2024, 13 :356 ( https://doi.org/10.5256/f1000research.170545.r323048) NOTE: it is important to ensure the information in square brackets after the title is included in this citation. The direct URL for this report is: https://f1000research.com/articles/13-356/v2#referee-response-323048 keyboard_arrow_left Back to all reports Reviewer Report 0 Views copyright © 2024 Blaskovics B. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. 05 Jul 2024 | for Version 1 Bálint Blaskovics , Corvinus University of Budapest, Budapest, Hungary 0 Views copyright © 2024 Blaskovics B. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. format_quote Cite this report speaker_notes Responses (1) Approved With Reservations info_outline Alongside their report, reviewers assign a status to the article: Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions The paper addresses an interesting topic, namely how can we apply R for project planning for non-predictive projects as well. The authors start with a brief and focused introduction, however, I would welcome a bit more about time plotting techniques, and non-predictive project management approaches to provide the necessary background for the next sections (or at least about the different, non-deterministic scheduling techniques). I would also welcome more about either the research gap or the comparison of the different software packages in order to evaluate the results more. I would also dedicate a bit more time to how this can be beneficial for future studies and/or the use case of programming in this way. All in all, I think it is a well-based, scientific paper, however, I would welcome a bit more changes in order to be consumable for everyone who is interested in the topic. Is the rationale for developing the new software tool clearly explained? Partly Is the description of the software tool technically sound? Yes Are sufficient details of the code, methods and analysis (if applicable) provided to allow replication of the software development and its use by others? Yes Is sufficient information provided to allow interpretation of the expected output datasets and any results generated using the tool? Partly Are the conclusions about the tool and its performance adequately supported by the findings presented in the article? Partly Competing Interests No competing interests were disclosed. Reviewer Expertise project management I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard, however I have significant reservations, as outlined above. reply Respond to this report Responses (1) Author Response 12 Sep 2024 Zsolt Tibor Kosztyán, Department of Quantitative Methods, University of Pannonia, Veszprém, 8200, Hungary Dear Dr. Bálint Blaskovics, Thank you for the valuable remarks. According to your remarks and those of the other reviewers, we have thoroughly revised the manuscript. All the remarks were addressed. The responses are shown in red. In the revised manuscript, insertions are shown in blue, and deletions are shown in red. Sincerely, The Authors Q.1: The paper addresses an interesting topic, namely how can we apply R for project planning for non-predictive projects as well. The authors start with a brief and focused introduction, however, I would welcome a bit more about time plotting techniques, and non-predictive project management approaches to provide the necessary background for the next sections (or at least about the different, non-deterministic scheduling techniques). I would also welcome more about either the research gap or the comparison of the different software packages in order to evaluate the results more. I would also dedicate a bit more time to how this can be beneficial for future studies and/or the use case of programming in this way. All in all, I think it is a well-based, scientific paper, however, I would welcome a bit more changes in order to be consumable for everyone who is interested in the topic. Response: The paper has been fully revised. Nondeterministic techniques are briefly introduced. However, most nondeterministic scheduling techniques, such as discrete, continuous and stochastic time‒cost tradeoff methods, where more than one technology is used or where the exact time demands are not known, can be considered flexible; therefore, they are detailed along with the other considered types of flexibility. Our contributions to the literature are stated, and the limitations of our methods are also specified. View more View less Competing Interests No competing interests were disclosed. reply Respond Report a concern Blaskovics B. Peer Review Report For: {MFPP(R). An R package for matrix-based flexible project planning [version 2; peer review: 2 approved, 1 approved with reservations, 1 not approved] . F1000Research 2024, 13 :356 ( https://doi.org/10.5256/f1000research.156774.r292541) NOTE: it is important to ensure the information in square brackets after the title is included in this citation. The direct URL for this report is: https://f1000research.com/articles/13-356/v1#referee-response-292541 keyboard_arrow_left Back to all reports Reviewer Report 0 Views copyright © 2024 Kolos Á. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. 04 Jul 2024 | for Version 1 Ágoston Kolos , Corvinus University, Budapest, Hungary 0 Views copyright © 2024 Kolos Á. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. format_quote Cite this report speaker_notes Responses (1) Approved With Reservations info_outline Alongside their report, reviewers assign a status to the article: Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions I expect that the methodology used is not well known to R users in general. Therefore, a short but precise mathematical formulation of the models (TPMa, APMa, XPMa, HPMa) is needed. I think the authors can do this in the appendix or provide an external article or link. In the latter case, it is important to give a reference to another source where the description of the model is clear and precise (not a general overview). There are typos in the user manual ("Sumulated project database") Is the rationale for developing the new software tool clearly explained? Partly Is the description of the software tool technically sound? Yes Are sufficient details of the code, methods and analysis (if applicable) provided to allow replication of the software development and its use by others? Partly Is sufficient information provided to allow interpretation of the expected output datasets and any results generated using the tool? Yes Are the conclusions about the tool and its performance adequately supported by the findings presented in the article? Yes Competing Interests No competing interests were disclosed. Reviewer Expertise Operations research I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard, however I have significant reservations, as outlined above. reply Respond to this report Responses (1) Author Response 12 Sep 2024 Zsolt Tibor Kosztyán, Department of Quantitative Methods, University of Pannonia, Veszprém, 8200, Hungary Dear Dr. Ágoston Kolos, Thank you for the valuable remarks. According to your and the other reviewers’ remarks, we have thoroughly revised the manuscript. All the remarks were addressed. The responses are shown in red. In the revised manuscript, insertions are shown in blue, and deletions are shown in red. Sincerely, The Authors Q.1: I expect that the methodology used is not well known to R users in general. Therefore, a short but precise mathematical formulation of the models (TPMa, APMa, XPMa, HPMa) is needed. I think the authors can do this in the appendix or provide an external article or link. In the latter case, it is important to give a reference to another source where the description of the model is clear and precise (not a general overview). Response: The paper has been fully revised. We present the problem and refer to a publication containing the details. View more View less Competing Interests No competing interests were disclosed. reply Respond Report a concern Kolos Á. Peer Review Report For: {MFPP(R). An R package for matrix-based flexible project planning [version 2; peer review: 2 approved, 1 approved with reservations, 1 not approved] . F1000Research 2024, 13 :356 ( https://doi.org/10.5256/f1000research.156774.r284888) NOTE: it is important to ensure the information in square brackets after the title is included in this citation. The direct URL for this report is: https://f1000research.com/articles/13-356/v1#referee-response-284888 keyboard_arrow_left Back to all reports Reviewer Report 0 Views copyright © 2024 Jayasinghe S. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. 29 Jun 2024 | for Version 1 Shan Jayasinghe , Southampton Solent University, Southampton, England, UK 0 Views copyright © 2024 Jayasinghe S. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. format_quote Cite this report speaker_notes Responses (1) Not Approved info_outline Alongside their report, reviewers assign a status to the article: Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions Thank you so much for the opportunity to review the paper. The paper makes the assertion that "while project planning and scheduling tools are already available to support traditional project management approaches, flexible project management, such as agile, extreme, and hybrid project planning, are only somewhat supported by computer algorithms." This claim is not accurate. Advanced project management tools such as JIRA, Asana, and Monday.com are backed by highly sophisticated algorithms and are widely used to manage adaptable projects across numerous multinational companies. The first paragraph does a satisfactory job of comparing traditional and adaptive project management approaches. However, the research gap of the paper is inadequately defined and needs to be more clearly established to strengthen the overall argument and relevance of the study. Apart from the above concern, the following improvements must be made to enhance the paper to a indexable level. -Include more recent studies and compare the proposed method with state-of-the-art project management tools. -Organize the methodology section with clear headings and subheadings. Use more diagrams to illustrate key concepts. -Conduct a more detailed performance evaluation of the mfpp package, comparing it with existing tools and discussing its scalability. -Include a discussion on the limitations of the proposed approach and potential areas for future work. -Ensure all references are complete and correctly formatted. -Ensure the manuscript is written in clear, concise language with appropriate academic tone and style. Revise for grammar, punctuation, and clarity to enhance readability and coherence. Is the rationale for developing the new software tool clearly explained? No Is the description of the software tool technically sound? No Are sufficient details of the code, methods and analysis (if applicable) provided to allow replication of the software development and its use by others? No Is sufficient information provided to allow interpretation of the expected output datasets and any results generated using the tool? No Are the conclusions about the tool and its performance adequately supported by the findings presented in the article? No Competing Interests No competing interests were disclosed. Reviewer Expertise project management, technology adoption, teaching and learning I confirm that I have read this submission and believe that I have an appropriate level of expertise to state that I do not consider it to be of an acceptable scientific standard, for reasons outlined above. reply Respond to this report Responses (1) Author Response 12 Sep 2024 Zsolt Tibor Kosztyán, Department of Quantitative Methods, University of Pannonia, Veszprém, 8200, Hungary Dear Reviewer Dr. Shan Jayasinghe, Thank you for the valuable remarks. According to your remarks and those of the other reviewers, we have thoroughly revised the manuscript. We hope that the academic standards of the revised manuscript have been improved to meet your expectations. All the remarks were addressed. The responses are shown in red. In the revised manuscript, insertions are shown in blue, and deletions are shown in red. Sincerely, The Authors Thank you so much for the opportunity to review the paper. Q.1: The paper makes the assertion that "while project planning and scheduling tools are already available to support traditional project management approaches, flexible project management, such as agile, extreme, and hybrid project planning, are only somewhat supported by computer algorithms." This claim is not accurate. Advanced project management tools such as JIRA, Asana, and Monday.com are backed by highly sophisticated algorithms and are widely used to manage adaptable projects across numerous multinational companies. Response: Thank you for the comment. We have clarified this statement both in the abstract and the introduction. You are correct. There are a few commercial project management software programs, such as JIRA, Asana, Wrike, Teamwork, Zoho Projects, and Monday.com, which support flexible project planning. The target audience of these software tools is professional users and not scholars. These software applications are not freely available. The algorithms for managing flexible projects in these applications are hidden from users. In general, they provide only the most likely solution and not all possible solutions, in contrast to the algorithms used here (Kosztyán-Szalkai 2018). Only with an implementation such as ours can the smallest and largest resource requirements and the smallest and largest possible time and cost demands be estimated. In addition, in R software, there is no package that is backed by sophisticated algorithms and can handle flexible project management, such as agile, extreme, or hybrid project planning. Q.2: The first paragraph does a satisfactory job of comparing traditional and adaptive project management approaches. However, the research gap of the paper is inadequately defined and needs to be more clearly established to strengthen the overall argument and relevance of the study. Response: The first part of the paper has been fully revised. The contributions of the paper are stated. The background of the method has been made more detailed. Q.3: Include more recent studies and compare the proposed method with state-of-the-art project management tools. Response: The revised paper refers to more recent studies and details the benefits of the proposed package. Q.4:Organize the methodology section with clear headings and subheadings. Use more diagrams to illustrate key concepts. Response: The methodology section “Brief summary of matrix-based project planning and risk analysis” has been added and revised. The new figure (Figure 1) compares the matrix-based plans of different types of project management approaches. Q.5: Conduct a more detailed performance evaluation of the mfpp package, comparing it with existing tools and discussing its scalability. Response: A new Experiments section has been provided to show the performance and possibilities of the mfpp packages. The main purpose of this section was to show researchers that such tests can be performed by presenting the proposed package. During the generation process, we also examined projects containing 500 activities. We allowed several execution methods and considered several types of resource requirements. The results are included in the Experiments section. Since existing tools cannot calculate all possible alternatives, the possible time reduction cannot be calculated. Q.6: Include a discussion on the limitations of the proposed approach and potential areas for future work. Response: In the revised paper, a new Limitations and Future Works section has been added. Q.7:Ensure all references are complete and correctly formatted. Response: Thank you. This has been corrected. Q.8: Ensure the manuscript is written in clear, concise language with appropriate academic tone and style. Revise for grammar, punctuation, and clarity to enhance readability and coherence. Response: Thank you. The final version was proofread by American Journal Experts. References: Kosztyán, Z. T., & Szalkai, I. (2018). Hybrid time-quality-cost trade-off problems. Operations Research Perspectives , 5 , 306-318. View more View less Competing Interests No competing interests were disclosed. reply Respond Report a concern Jayasinghe S. Peer Review Report For: {MFPP(R). An R package for matrix-based flexible project planning [version 2; peer review: 2 approved, 1 approved with reservations, 1 not approved] . F1000Research 2024, 13 :356 ( https://doi.org/10.5256/f1000research.156774.r292539) NOTE: it is important to ensure the information in square brackets after the title is included in this citation. The direct URL for this report is: https://f1000research.com/articles/13-356/v1#referee-response-292539 Alongside their report, reviewers assign a status to the article: Approved - the paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations - A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved - fundamental flaws in the paper seriously undermine the findings and conclusions Adjust parameters to alter display View on desktop for interactive features Includes Interactive Elements View on desktop for interactive features Competing Interests Policy Provide sufficient details of any financial or non-financial competing interests to enable users to assess whether your comments might lead a reasonable person to question your impartiality. Consider the following examples, but note that this is not an exhaustive list: Examples of 'Non-Financial Competing Interests' Within the past 4 years, you have held joint grants, published or collaborated with any of the authors of the selected paper. You have a close personal relationship (e.g. parent, spouse, sibling, or domestic partner) with any of the authors. You are a close professional associate of any of the authors (e.g. scientific mentor, recent student). You work at the same institute as any of the authors. You hope/expect to benefit (e.g. favour or employment) as a result of your submission. You are an Editor for the journal in which the article is published. Examples of 'Financial Competing Interests' You expect to receive, or in the past 4 years have received, any of the following from any commercial organisation that may gain financially from your submission: a salary, fees, funding, reimbursements. You expect to receive, or in the past 4 years have received, shared grant support or other funding with any of the authors. You hold, or are currently applying for, any patents or significant stocks/shares relating to the subject matter of the paper you are commenting on. Stay Updated Sign up for content alerts and receive a weekly or monthly email with all newly published articles Register with F1000Research Already registered? Sign in Not now, thanks close PLEASE NOTE If you are an AUTHOR of this article, please check that you signed in with the account associated with this article otherwise we cannot automatically identify your role as an author and your comment will be labelled as a “User Comment”. If you are a REVIEWER of this article, please check that you have signed in with the account associated with this article and then go to your account to submit your report, please do not post your review here. If you do not have access to your original account, please contact us . All commenters must hold a formal affiliation as per our Policies . The information that you give us will be displayed next to your comment. User comments must be in English, comprehensible and relevant to the article under discussion. We reserve the right to remove any comments that we consider to be inappropriate, offensive or otherwise in breach of the User Comment Terms and Conditions . Commenters must not use a comment for personal attacks. When criticisms of the article are based on unpublished data, the data should be made available. I accept the User Comment Terms and Conditions Please confirm that you accept the User Comment Terms and Conditions. Affiliation ✕ refresh Please enter your institution. Note: To add your institution or organisation, start typing the name and then select the correct name from the list. Where applicable, the name will appear in both the original language and in English. Do not paste in the name. If the name does not appear in the drop-down list, we will display the information you have entered. ✕ refresh Country/Region * USA UK Canada China France Germany Afghanistan Aland Islands Albania Algeria American Samoa Andorra Angola Anguilla Antarctica Antigua and Barbuda Argentina Armenia Aruba Australia Austria Azerbaijan Bahamas Bahrain Bangladesh Barbados Belarus Belgium Belize Benin Bermuda Bhutan Bolivia Bosnia and Herzegovina Botswana Bouvet Island Brazil British Indian Ocean Territory British Virgin Islands Brunei Bulgaria Burkina Faso Burundi Cambodia Cameroon Canada Cape Verde Cayman Islands Central African Republic Chad Chile China Christmas Island Cocos (Keeling) Islands Colombia Comoros Congo Cook Islands Costa Rica Cote d'Ivoire Croatia Cuba Cyprus Czech Republic Democratic Republic of the Congo Denmark Djibouti Dominica Dominican Republic Ecuador Egypt El Salvador Equatorial Guinea Eritrea Estonia Ethiopia Falkland Islands Faroe Islands Federated States of Micronesia Fiji Finland France French Guiana French Polynesia French Southern Territories Gabon Georgia Germany Ghana Gibraltar Greece Greenland Grenada Guadeloupe Guam Guatemala Guernsey Guinea Guinea-Bissau Guyana Haiti Heard Island and Mcdonald Islands Holy See (Vatican City State) Honduras Hong Kong Hungary Iceland India Indonesia Iran Iraq Ireland Israel Italy Jamaica Japan Jersey Jordan Kazakhstan Kenya Kiribati Kosovo (Serbia and Montenegro) Kuwait Kyrgyzstan Lao People's Democratic Republic Latvia Lebanon Lesotho Liberia Libya Liechtenstein Lithuania Luxembourg Macao Madagascar Malawi Malaysia Maldives Mali Malta Marshall Islands Martinique Mauritania Mauritius Mayotte Mexico Minor Outlying Islands of the United States Moldova Monaco Mongolia Montenegro Montserrat Morocco Mozambique Myanmar Namibia Nauru Nepal Netherlands Antilles New Caledonia New Zealand Nicaragua Niger Nigeria Niue Norfolk Island North Korea North Macedonia Northern Mariana Islands Norway Oman Pakistan Palau Palestinian Territory Panama Papua New Guinea Paraguay Peru Philippines Pitcairn Poland Portugal Puerto Rico Qatar Reunion Romania Russian Federation Rwanda Saint Helena Saint Kitts and Nevis Saint Lucia Saint Pierre and Miquelon Saint Vincent and the Grenadines Samoa San Marino Sao Tome and Principe Saudi Arabia Senegal Serbia Seychelles Sierra Leone Singapore Slovakia Slovenia Solomon Islands Somalia South Africa South Georgia and the South Sandwich Is South Korea South Sudan Spain Sri Lanka Sudan Suriname Svalbard and Jan Mayen Swaziland Sweden Switzerland Syria Taiwan Tajikistan Tanzania Thailand The Gambia The Netherlands Timor-Leste Togo Tokelau Tonga Trinidad and Tobago Tunisia Turkey Turkmenistan Turks and Caicos Islands Tuvalu UK USA Uganda Ukraine United Arab Emirates United States Virgin Islands Uruguay Uzbekistan Vanuatu Venezuela Vietnam Wallis and Futuna West Bank and Gaza Strip Western Sahara Yemen Zambia Zimbabwe Please select your country/region. You must enter a comment. Competing Interests Please disclose any competing interests that might be construed to influence your judgment of the article's or peer review report's validity or importance. Competing Interests Policy Provide sufficient details of any financial or non-financial competing interests to enable users to assess whether your comments might lead a reasonable person to question your impartiality. Consider the following examples, but note that this is not an exhaustive list: Examples of 'Non-Financial Competing Interests' Within the past 4 years, you have held joint grants, published or collaborated with any of the authors of the selected paper. You have a close personal relationship (e.g. parent, spouse, sibling, or domestic partner) with any of the authors. You are a close professional associate of any of the authors (e.g. scientific mentor, recent student). You work at the same institute as any of the authors. You hope/expect to benefit (e.g. favour or employment) as a result of your submission. You are an Editor for the journal in which the article is published. Examples of 'Financial Competing Interests' You expect to receive, or in the past 4 years have received, any of the following from any commercial organisation that may gain financially from your submission: a salary, fees, funding, reimbursements. You expect to receive, or in the past 4 years have received, shared grant support or other funding with any of the authors. You hold, or are currently applying for, any patents or significant stocks/shares relating to the subject matter of the paper you are commenting on. Please state your competing interests The comment has been saved. An error has occurred. Please try again. Cancel Post var lTitle = "{MFPP(R). An R package for matrix-based flexible...".replace("'", ''); var linkedInUrl = "http://www.linkedin.com/shareArticle?url=https://f1000research.com/articles/13-356/v2" + "&title=" + encodeURIComponent(lTitle) + "&summary=" + encodeURIComponent('Read the article by '); var deliciousUrl = "https://del.icio.us/post?url=https://f1000research.com/articles/13-356/v2&title=" + encodeURIComponent(lTitle); var redditUrl = "http://reddit.com/submit?url=https://f1000research.com/articles/13-356/v2" + "&title=" + encodeURIComponent(lTitle); linkedInUrl += encodeURIComponent('Kosztyán ZT and Saghir A'); var offsetTop = /chrome/i.test( navigator.userAgent ) ? 4 : -10; var addthis_config = { ui_offset_top: offsetTop, services_compact : "facebook,twitter,www.linkedin.com,www.mendeley.com,reddit.com", services_expanded : "facebook,twitter,www.linkedin.com,www.mendeley.com,reddit.com", services_custom : [ { name: "LinkedIn", url: linkedInUrl, icon:"/img/icon/at_linkedin.svg" }, { name: "Mendeley", url: "http://www.mendeley.com/import/?url=https://f1000research.com/articles/13-356/v2/mendeley", icon:"/img/icon/at_mendeley.svg" }, { name: "Reddit", url: redditUrl, icon:"/img/icon/at_reddit.svg" }, ] }; var addthis_share = { url: "https://f1000research.com/articles/13-356", templates : { twitter : "{MFPP(R). An R package for matrix-based flexible project planning. Kosztyán ZT and Saghir A, published by " + "@F1000Research" + ", https://f1000research.com/articles/13-356/v2" } }; if (typeof(addthis) != "undefined"){ addthis.addEventListener('addthis.ready', checkCount); addthis.addEventListener('addthis.menu.share', checkCount); } $(".f1r-shares-twitter").attr("href", "https://twitter.com/intent/tweet?text=" + addthis_share.templates.twitter); $(".f1r-shares-facebook").attr("href", "https://www.facebook.com/sharer/sharer.php?u=" + addthis_share.url); $(".f1r-shares-linkedin").attr("href", addthis_config.services_custom[0].url); $(".f1r-shares-reddit").attr("href", addthis_config.services_custom[2].url); $(".f1r-shares-mendelay").attr("href", addthis_config.services_custom[1].url); function checkCount(){ setTimeout(function(){ $(".addthis_button_expanded").each(function(){ var count = $(this).text(); if (count !== "" && count != "0") $(this).removeClass("is-hidden"); else $(this).addClass("is-hidden"); }); }, 1000); } close How to cite this report {{reportCitation}} Cancel Copy Citation Details $(function(){R.ui.buttonDropdowns('.dropdown-for-downloads');}); $(function(){R.ui.toolbarDropdowns('.toolbar-dropdown-for-downloads');}); $.get("/articles/acj/143144/170545") new F1000.Clipboard(); new F1000.ThesaurusTermsDisplay("articles", "article", "170545"); $(document).ready(function() { $( "#frame1" ).on('load', function() { var mydiv = $(this).contents().find("div"); var h = mydiv.height(); console.log(h) }); var tooltipLivingFigure = jQuery(".interactive-living-figure-label .icon-more-info"), titleLivingFigure = tooltipLivingFigure.attr("title"); tooltipLivingFigure.simpletip({ fixed: true, position: ["-115", "30"], baseClass: 'small-tooltip', content:titleLivingFigure + " " }); tooltipLivingFigure.removeAttr("title"); $("body").on("click", ".cite-living-figure", function(e) { e.preventDefault(); var ref = $(this).attr("data-ref"); $(this).closest(".living-figure-list-container").find("#" + ref).fadeIn(200); }); $("body").on("click", ".close-cite-living-figure", function(e) { e.preventDefault(); $(this).closest(".popup-window-wrapper").fadeOut(200); }); $(document).on("mouseup", function(e) { var metricsContainer = $(".article-metrics-popover-wrapper"); if (!metricsContainer.is(e.target) && metricsContainer.has(e.target).length === 0) { $(".article-metrics-close-button").click(); } }); var articleId = $('#articleId').val(); if($("#main-article-count-box").attachArticleMetrics) { $("#main-article-count-box").attachArticleMetrics(articleId, { articleMetricsView: true }); } }); var figshareWidget = $(".new_figshare_widget"); if (figshareWidget.length > 0) { window.figshare.load("f1000", function(Widget) { // Select a tag/tags defined in your page. In this tag we will place the widget. _.map(figshareWidget, function(el){ var widget = new Widget({ articleId: $(el).attr("figshare_articleId") //height:300 // this is the height of the viewer part. [Default: 550] }); widget.initialize(); // initialize the widget widget.mount(el); // mount it in a tag that's on your page // this will save the widget on the global scope for later use from // your JS scripts. This line is optional. //window.widget = widget; }); }); } close Error Close Add Reset F1000.MICROSERVICES.AFFILIATION = ''; $(document).ready(function () { $('.js-affiliations-form').each((index, form) => { new AffiliationForm({ formId: form.id, institutionErrorSelector: '.comment-enter-institution', departmentErrorSelector: '.comment-enter-department', placeSelector: '.js-add-comment-place', stateSelector: '.js-add-comment-state', zipCodeSelector: '.js-add-comment-zipcode', countrySelector: '.js-add-comment-country', countryErrorSelector: '.comment-enter-country', }); }); }); $(document).ready(function () { var reportIds = { "357632": 0, "364815": 0, "360969": 0, "360970": 0, "360981": 0, "360983": 0, "360982": 0, "360984": 0, "292535": 0, "292540": 0, "418367": 4, "292541": 9, "345663": 0, "292542": 0, "345662": 0, "292543": 0, "292536": 0, "292537": 0, "292538": 0, "292539": 19, "345669": 0, "345668": 0, "345671": 0, "345670": 0, "345665": 0, "292544": 0, "345664": 0, "418368": 0, "345667": 0, "345666": 0, "418383": 0, "418380": 0, "418381": 0, "418378": 0, "418379": 0, "284884": 0, "284885": 0, "284886": 0, "284887": 0, "284881": 0, "418384": 0, "284882": 0, "418385": 0, "284883": 0, "284888": 6, "284889": 0, "284890": 0, "351077": 0, "351076": 0, "289765": 0, "351079": 0, "289766": 0, "351078": 0, "289767": 0, "351073": 0, "351075": 0, "351074": 0, "289772": 0, "289773": 0, "289774": 0, "351081": 0, "323048": 2, "289768": 0, "351080": 0, "289769": 0, "289770": 0, "351082": 0, "289771": 0, "357623": 0, "357622": 0, "357629": 0, "357631": 0, "357630": 0, "357625": 0, "357624": 0, "357627": 0, "357626": 0, }; $(".referee-response-container,.js-referee-report").each(function(index, el) { var reportId = $(el).attr("data-reportid"), reportCount = reportIds[reportId] || 0; $(el).find(".comments-count-container,.js-referee-report-views").html(reportCount); }); var uuidInput = $("#article_uuid"), oldUUId = uuidInput.val(), newUUId = "662a2c08-7424-4093-89a2-bfe6a6c3b107"; uuidInput.val(newUUId); $("a[href*='article_uuid=']").each(function(index, el) { var newHref = $(el).attr("href").replace(oldUUId, newUUId); $(el).attr("href", newHref); }); }); An innovative open access publishing platform offering rapid publication and open peer review, whilst supporting data deposition and sharing. Browse Gateways Collections How it Works Contact For Developers Cookie Notice Privacy Notice RSS Submit Your Research Follow us © 2012-2026 F1000 Research Ltd. ISSN 2046-1402 | Legal | Partner of Research4Life • CrossRef • ORCID • FAIRSharing R.templateTests.simpleTemplate = R.template(' $text $text $text $text $text '); R.templateTests.runTests(); var F1000platform = new F1000.Platform({ name: "f1000research", displayName: "F1000Research", hostName: "f1000research.com", id: "1", editorialEmail: "[email protected]", infoEmail: "[email protected]", usePmcStats: true }); $(function(){R.ui.dropdowns('.dropdown-for-authors, .dropdown-for-about, .dropdown-for-myresearch');}); // $(function(){R.ui.dropdowns('.dropdown-for-referees');}); $(document).ready(function () { if ($(".cookie-warning").is(":visible")) { $(".sticky").css("margin-bottom", "35px"); $(".devices").addClass("devices-and-cookie-warning"); } $(".cookie-warning .close-button").click(function (e) { $(".devices").removeClass("devices-and-cookie-warning"); $(".sticky").css("margin-bottom", "0"); }); $("#tweeter-feed .tweet-message").each(function (i, message) { var self = $(message); self.html(linkify(self.html())); }); $(".partner").on("mouseenter mouseleave", function() { $(this).find(".gray-scale, .colour").toggleClass("is-hidden"); }); }); Sign In Remember me Forgotten your password? Sign In Cancel Email or password not correct. Please try again Please wait... $(function(){ // Note: All the setup needs to run against a name attribute and *not* the id due the clonish // nature of facebox... $("a[id=googleSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("GOOGLE"); $("form[id=oAuthForm]").submit(); }); $("a[id=facebookSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("FACEBOOK"); $("form[id=oAuthForm]").submit(); }); $("a[id=orcidSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("ORCID"); $("form[id=oAuthForm]").submit(); }); }); If you've forgotten your password, please enter your email address below and we'll send you instructions on how to reset your password. The email address should be the one you originally registered with F1000. Email address not valid, please try again You registered with F1000 via Google, so we cannot reset your password. To sign in, please click here . If you still need help with your Google account password, please click here . You registered with F1000 via Facebook, so we cannot reset your password. To sign in, please click here . If you still need help with your Facebook account password, please click here . Code not correct, please try again Reset password Cancel Email us for further assistance. Server error, please try again. If your email address is registered with us, we will email you instructions to reset your password. If you think you should have received this email but it has not arrived, please check your spam filters and/or contact for further assistance. Please wait... Register $(document).ready(function () { signIn.createSignInAsRow($("#sign-in-form-gfb-popup")); $(".target-field").each(function () { var uris = $(this).val().split("/"); if (uris.pop() === "login") { $(this).val(uris.toString().replace(",","/")); } }); });

Text is read by the "Ask this paper" AI Q&A widget below. Extraction quality varies by source — PMC NXML preserves structure cleanly, OA-HTML may include some navigation residue, and OA-PDF can have broken hyphenation. The publisher copy (via DOI) is the canonical version.

My notes (saved in your browser only)

Ask this paper AI returns verbatim quotes from the full text · source: preprint-html

Answers must be backed by verbatim quotes from this paper's full text. Hallucinated quotes are dropped automatically; if no verbatim passage answers the question, we say so. How this works

Citation neighborhood (no data yet)

We don't have any in-corpus citations linked to this paper yet. This is a recent paper (2024) — citers typically take a year or two to land, and the OpenAlex reference graph may still be filling in.

Source provenance

europepmc
last seen: 2026-05-20T01:45:00.602351+00:00