Skip to content

project-fractal/WP4T43-AI_Scheduling

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WP4T43- AI Scheduling

AI-Scheduling contains the following components:

WP4T43-03 Scenario Generator WP4T43-04 Genetic Algorithm - Scheduler WP4T43-05 AI Scheduler Model WP4T43-06 Schedule Verifier

#WP4T43-03 Scenario Generator

Description

The scenario generator uses the Stanford Network Analysis Platform (SNAP) to generate multiple scenarios/graphs, each consisting 
of a particular scheduling problem. This component takes as input the characteristics of an initial model. Although the 
generated scenarios share some characteristics, they all differ in the precedent constraints and the numeric values, making it very 
unlikely to have repetitive samples. It is also possible to modify the system's topology by choosing between different options or 
designing a unique one. This topology can be fixed for every sample generated or randomly assigned. 

Objectives

Create a dataset sufficiently diverse to emulate different scheduling problems caused by context events. (different task graphs and platform models)
The AI model will utilize the dataset for the learning process, acquiring the adaptation properties that the system needs in order 
to react to any possible event. 

Prerequisites

* SNAP library (already included in the folder).
* Python version 3.x

Installation and usage

Installation and usage steps are described in the video: https://ikerlan.sharepoint.com/:v:/r/sites/FRACTAL_project/Documentos%20compartidos/WP1%20-%20Project,%20Risk%20and%20Innovation%20Management/03%20-%20Meetings/202210_04_to_06_2nd%20Review%20Meeting/Demos/WP4/T4.2_TrainingVideo_AI_components.mp4?csf=1&web=1&e=JWNC55

WP4T43-04 Genetic Algorithm - Scheduler

Description

Scheduling tool used for generating the solutions for the training process of the machine learning model. The GA receives all the 
scheduling graphs generated by the Scenario Generator (WP4T42-03). The chromosomes of the GA are set to optimize the processor allocation 
and the job order. The objective function evaluates the makespan to find the best feasible schedule. 

Objectives

Provide spatial and temporal resource allocation. For example, some applications in real time-triggered systems require schedules to 
meet specific deadlines. The Genetic algorithm is one of the best techniques to find the best solutions for scheduling problems by guaranteeing 
low makespans. 

Prerequisites

* galib library (already included in the NewGA folder)
* c++ compiler

Installation and usage

Installation and usage steps are described in the video: https://ikerlan.sharepoint.com/:v:/r/sites/FRACTAL_project/Documentos%20compartidos/WP1%20-%20Project,%20Risk%20and%20Innovation%20Management/03%20-%20Meetings/202210_04_to_06_2nd%20Review%20Meeting/Demos/WP4/T4.2_TrainingVideo_AI_components.mp4?csf=1&web=1&e=JWNC55

WP4T43-05 AI Scheduler Model

Description

An Artificial Neural Network (ANN) model is implemented to predict task priorities by learning the behaviour of the GA Scheduler. The dataset 
used to train the ANN scheduler consists of input features extracted from the scenarios created by the Scenario Generator (WP4T42-03) and the outputs, 
which are the time priorities of the jobs obtained from the GA solutions (WP4T42-04). The input features are selected to capture node characteristics, 
importance and connection with the rest of the nodes in the graph. The output features are obtained by applying an algorithm that converts the time 
priorities from the GA schedule into a multi-binary format that is used to train the ANN model. This format re-orders the priorities by comparing the 
priority values of every job with each other on a one-to-one basis. The neural networks’ training parameters were chosen based on the binary accuracy 
of the predictions, keeping in mind that low accuracy values do not necessarily indicate an invalid schedule, as the predictions can still lead to 
alternative solutions with different makespans.

Objectives

Provide temporal and spatial resource allocation for a single FRACTAL node, enhancing the system's dependability while fulfilling the timing 
constraints. It also contributes by decreasing the run-time of scheduling with AI predictions.  

Prerequisites

* Python version 3.x 
* Tensorflow
* Sklearn

Installation and usage

The Python script file is located in the NewGA folder. ( ANN_priorities_schedule.py)
Installation and usage steps are described in the video: https://ikerlan.sharepoint.com/:v:/r/sites/FRACTAL_project/Documentos%20compartidos/WP1%20-%20Project,%20Risk%20and%20Innovation%20Management/03%20-%20Meetings/202210_04_to_06_2nd%20Review%20Meeting/Demos/WP4/T4.2_TrainingVideo_AI_components.mp4?csf=1&web=1&e=JWNC55

WP4T43-06 Schedule Verifier

Description

The Schedule verifier component is a tool that allows us to recompute a new schedule using the job priorities learned by the ANN model (WP4T42-05). 
Predicting a whole real time-triggered schedule solution is not a task that an AI model can do by itself since any slight inaccuracy can lead to an 
incorrect schedule and, therefore, to a possible accident. The schedule verifier detects any possible error and ensures a correct schedule. 

Objectives

Provide the correctness and safety of the resource allocations at development time.  

Prerequisites

* Python version 3.x 

Installation and usage

The Python script file is located in the NewGA folder. ( ANN_priorities_schedule.py)
Installation and usage steps are described in the video: https://ikerlan.sharepoint.com/:v:/r/sites/FRACTAL_project/Documentos%20compartidos/WP1%20-%20Project,%20Risk%20and%20Innovation%20Management/03%20-%20Meetings/202210_04_to_06_2nd%20Review%20Meeting/Demos/WP4/T4.2_TrainingVideo_AI_components.mp4?csf=1&web=1&e=JWNC55

The Automated_GA.sh file is used to run all the components one after the other. But they can also run independently.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published