• PERT (The program evaluation and review technique) for Delphi and Freep

    From rami18@21:1/5 to All on Sun Jul 2 15:00:54 2017
    Hello....


    I have decided to implement PERT (The program evaluation and review
    technique), here is the result, please read carefully what follows,
    i have also included a 32 bit and 64 bit windows executables called
    PERT32.exe and PERT64.exe (that take the file, with a the file format
    that i specified bellow, as an argument) inside the zip, it is a very
    powerful tool.

    PERT (The program evaluation and review technique) for Delphi and Freepascal

    Version: 1.0

    Authors: Amine Moulay Ramdane that have written PERT, Robert Sedgewick,
    Kevin Wayne.

    Email: aminer@videotron.ca

    Description:

    The program (or project) evaluation and review technique, commonly
    abbreviated PERT, is a statistical tool, used in project management,
    which was designed to analyze and represent the tasks involved in
    completing a given project.

    First developed by the United States Navy in the 1950s, it is commonly
    used in conjunction with the critical path method (CPM).

    PERT permits also to calculate:

    - The longest path of planned activities to the end of the project
    - The earliest and latest that each activity can start and finish
    without making the project longer
    - Determines “critical” activities (on the longest path)
    - Prioritize activities for the effective management and to
    shorten the planned critical path of a project by:
    - Pruning critical path activities
    - “Fast tracking" (performing more activities in parallel)
    - “Crashing the critical path" (shortening the durations of critical
    path activities by adding resources)

    PERT is a method of analyzing the tasks involved in completing a given
    project, especially the time needed to complete each task, and to
    identify the minimum time needed to complete the total project. It
    incorporates uncertainty by making it possible to schedule a project
    while not knowing precisely the details and durations of all the
    activities. It is more of an event-oriented technique rather than start-
    and completion-oriented, and is used more in projects where time is the
    major factor rather than cost. It is applied to very large-scale,
    one-time, complex, non-routine infrastructure and Research and
    Development projects.

    PERT and CPM are complementary tools, because "CPM employs one time
    estimate and one cost estimate for each activity; PERT may utilize three
    time estimates (optimistic, expected, and pessimistic) and no costs for
    each activity. Although these are distinct differences, the term PERT is applied increasingly to all critical path scheduling

    You have to have a java compiler, and you have first to compile the java libraries with the batch file compile.bat, and after that compile the
    Delphi and Freepascal test1.pas program.

    Here is the procedure to call:

    procedure solvePERT(filename:string;var info:TCPMInfo;var finishTime:system.double;var criticalPathStdDeviation:system.double);

    The arguments are:

    The filename: is the file to pass, it's is organized as:

    The first line is the number of jobs, the rest of each of the lines are:
    three time estimates that takes the job (optimistic, expected, and
    pessimistic) and after that the number of precedence constraints and
    after that the precedence constraints that specify that the job have to
    be completed before certain other jobs are begun.

    info: is the returned information, you can get the job number and the
    start and finish time of the job in info[i].job and info[i].start and info[i].finish, please look at the test.pas example to understand.

    finishTime: is the finish time.

    criticalPathStdDeviation: is the critical path standard deviation.

    I have provided you with two other functions to calculate
    the probabilities using the Normal distribution using the critical path standard deviation and using the best estimate of completion time of the critical path, here
    they are:

    function NormalDistA (const Mean, StdDev, AVal, BVal: Extended): Single;

    function NormalDistP (const Mean, StdDev, AVal: Extended): Single;

    You pass the best estimate of completion time to Mean, and you pass the critical path standard deviation to StdDev, and you will get the
    probabilities of the value Aval or between the values of Aval and Bval.

    I have also included a 32 bit and 64 bit windows executables called
    PERT32.exe and PERT64.exe (that take the file, with a the file format
    that i specified above, as an argument) inside the zip, it is a very
    powerful tool, you need to compile CPM.java with compile.bat before
    running them.

    You can download this library from:

    https://sites.google.com/site/aminer68/pert-the-program-evaluation-and-review-technique-for-delphi-and-freepascal

    Have fun with it !

    Language: FPC Pascal v2.2.0+ / Delphi 7+: http://www.freepascal.org/

    Operating Systems: Windows,

    Required FPC switches: -O3 -Sd -dFPC -dFreePascal

    -Sd for delphi mode....

    Required Delphi switches: -$H+ -DDelphi

    For Delphi XE-XE7 use the -DXE switch



    Thank you,
    Amine Moulay Ramdane.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From rami18@21:1/5 to All on Mon Jul 3 12:15:23 2017
    Hello....


    PERT (The program evaluation and review technique) for Delphi and
    Freepascal was updated to version 1.1

    In my previous version, i have forgotten to include some java files,
    and now i have included them in this version 1.1 , and now my PERT
    library is now working correctly.

    You can download version 1.1 of my PERT library from:

    https://sites.google.com/site/aminer68/pert-the-program-evaluation-and-review-technique-for-delphi-and-freepascal


    Thank you,
    Amine Moulay Ramdane.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From rami18@21:1/5 to All on Mon Jul 3 13:03:26 2017
    Hello....

    Read:

    PERT (The program evaluation and review technique) for Delphi and
    Freepascal was updated to version 1.11

    Now it creates a temporary file to be more efficient, and my PERT
    library uses a CPM algorithm that uses Topological sorting to render CPM
    a linear-time algorithm for finding the critical path of the project, so
    it's fast, so now it has become a more professional software.

    You can download version 1.11 of my PERT library from:

    https://sites.google.com/site/aminer68/pert-the-program-evaluation-and-review-technique-for-delphi-and-freepascal


    Thank you,
    Amine Moulay Ramdane.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From rami18@21:1/5 to All on Tue Jul 4 09:45:02 2017
    Hello.........


    Version 1.21 is up..

    PERT (The program evaluation and review technique) for Delphi and
    Freepascal was updated to version 1.21..

    I have just taken a look at the following statistical PERT:

    https://www.pluralsight.com/blog/it-ops/statistical-pert-estimates

    And i think you don't need it, because i have just added the following
    function to my PERT library:

    function InvNormalDist(const Mean, StdDev, PVal: Extended; const Less: Boolean): Extended;

    For InvNormalDist(), you pass the best estimate of completion time to
    Mean, and you pass the critical path standard deviation to StdDev, and
    you will get the length of the critical path of the probability PVal,
    and when Less is TRUE, you will obtain a cumulative distribution.

    Also my PERT library uses a CPM algorithm that uses Topological sorting
    to render CPM a linear-time algorithm for finding the critical path of
    the project, so it's fast.

    And i have also included a 32 bit and 64 bit windows executables called PERT32.exe and PERT64.exe (that take the file, with a the file format
    that i specified above, as an argument) inside the zip, it is a very
    powerful tool, you need to compile CPM.java with compile.bat before
    running them.

    Now my PERT library is more professional.

    You can download the new version 1.21 of my PERT library from:

    https://sites.google.com/site/aminer68/pert-the-program-evaluation-and-review-technique-for-delphi-and-freepascal


    Thank you,
    Amine Moulay Ramdane.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)