PHP Classes

The Challenge of Sequencing: Optimize task schedules based on earliest due date

Recommend this page to a friend!
     
  Info   Example   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
StarStarStarStar 74%Total: 175 All time: 8,777 This week: 560Up
Version License PHP version Categories
tcos 1.0.1Proprietary Licen...5Algorithms, PHP 5
Description 

Author

This is a simple class that can optimize task schedules based on earliest due date.

It takes an array with values of tasks to be executed such as the time each task takes to execute and delivery time.

The class processes the tasks schedules to minimize the number of late tasks and displays several metrics about the scheduled tasks, such as the total flow time, average flow time, average delay time, backlog time, maximum delay, average time delay.

Innovation Award
PHP Programming Innovation award nominee
February 2016
Number 9


Prize: 1 year subscription to the Basic Plan of an API product of choice
When you need to manage many concurrent tasks, you need to rearrange their schedules, so they can be completed as soon as possible and at the same time avoid that they run late considering the desired finishing time limit.

This class can perform the necessary calculations with a set of scheduled tasks minimizing the number of tasks that may run late.

Manuel Lemos
Picture of Roberto Aleman
  Performance   Level  
Name: Roberto Aleman <contact>
Classes: 19 packages by
Country: Venezuela Venezuela
Innovation award
Innovation award
Nominee: 10x

Winner: 1x

Example

<style type="text/css">
body,td,th {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
}
</style>
<?php

/*
Class The challenge of sequencing 1.0.1


In job scheduling on a machine can implement different policies or rules of priority in particular seek to improve the performance of the programming in a
particular indicator (minimize the amount of backlog, minimizing the average delay, minimize the maximum delay, minimize time average flow, etc.),
however, the makespan or time required to complete the work will be independent identical to the priority rule.
There are many rules of priority but the most used is the rule according to the prioritization by time of delivery, or EDD.
This sequence in increasing order of their dates of upcoming delivery. Priority is given to tasks or products shorter earliest delivery or delivery.
It is used as an initial solution to sequence
minimizing the number of late tasks (Moore algorithm).

Management methods and recursive functions are used to sort and process the base matrix and the resulting vectors

The following data shows the process:

Total flow time
Average flow time
average delay
Number of backlog
Maximum delay
Average Time Delay

How to use it:

You must send as a parameter an array of N x 3,
where N is the number of processes to be sequenced,
Nx1 time column is the process (typically for machines expressed in days,
but can be a relative time unit) is Nx2 the delivery date column
which is expressed in the same unit as Nx1, in this case days.

*/
$edd_array = array(
                   array(
"A", "B", "C", "D", "E" ),
                 array(
11, 29, 31, 1, 2 ),
                 array(
61, 45, 31, 33,32 )
      );



include(
"The_challenge_of_sequencing.php");

$edd1 = new The_challenge_of_sequencing();

$edd1->show_initial_data($edd_array,"Problem Description:One machine have 5 task for processing, we know the processing time and delivery time for each task, we can processing this task with earliest due date.. ");

$edd1->edd($edd_array);



?>


Details

In job scheduling on a machine can implement different policies or rules of priority in particular seek to improve the performance of the programming in a particular indicator (minimize the amount of backlog, minimizing the average delay, minimize the maximum delay, minimize time average flow, etc.), however, the makespan or time required to complete the work will be independent identical to the priority rule. There are many rules of priority but the most used is the rule according to the prioritization by time of delivery, or EDD. This sequence in increasing order of their dates of upcoming delivery. Priority is given to tasks or products shorter earliest delivery or delivery. It is used as an initial solution to sequence minimizing the number of late tasks (Moore algorithm). Management methods and recursive functions are used to sort and process the base matrix and the resulting vectors The following data shows the process: Total flow time Average flow time average delay Number of backlog Maximum delay Average Time Delay How to use it: You must send as a parameter an array of N x 3, where N is the number of processes to be sequenced, Nx1 time column is the process (typically for machines expressed in days, but can be a relative time unit) is Nx2 the delivery date column which is expressed in the same unit as Nx1, in this case days.

  Files folder image Files (3)  
File Role Description
Plain text file readme.txt Doc. readme file
Plain text file testedd.php Example example
Plain text file The_challenge_of_sequencing.php Class main class

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads Download Rankings  
 0%
Total:175
This week:0
All time:8,777
This week:560Up
 User Ratings  
 
 All time
Utility:91%StarStarStarStarStar
Consistency:91%StarStarStarStarStar
Documentation:100%StarStarStarStarStarStar
Examples:100%StarStarStarStarStarStar
Tests:-
Videos:-
Overall:74%StarStarStarStar
Rank:84