Skip to content

A web app that utilizes Evolutionary Programming to determine and prioritize tasks for efficient scheduling.

License

Notifications You must be signed in to change notification settings

LinggarM/Priority-Task-Selection-Using-Evolutionary-Programming

Repository files navigation

Priority-Task-Selection-Using-Evolutionary-Programming

A web app that utilizes Evolutionary Programming to determine and prioritize tasks for efficient scheduling.

About the Project

Priority Task Selection is a program to determine and prioritize tasks from given task options and the total time you have.

Sometimes we have a lot of tasks to do but our time is very limited, so we cannot do all the tasks and we have to pick some of the most important tasks from all of the tasks. This program helps you determine and choose which tasks are worth more to do than the others.

This program uses Evolutionary Programming algorithms to prioritize the most important tasks from a given list of tasks based on their priority scales.

  • Input:

    • The number of tasks to do
    • All of the task names
    • All of the priority scales for each task
    • All of the task completion times for each task (hours)
    • Total time you have (hours)
  • Output:

    • List of tasks we can do
    • Total priority scales for all tasks we can do
    • Total time required to do the tasks

Screenshots

Dashboard
Screenshots/1.%20Dashboard.png
Example Input Values on Forms
Screenshots/2.%20Input%20Form.png
Example Results
Screenshots/3.%20Result.png

Live Demo

Web App Priority Task Selection Using Evolutionary Programming: http://xxx.xxx

Technology Used

  • HTML
  • CSS
  • Javascript
  • Python
  • Numpy
  • Flask
  • Evolutionary Programming

Installation

  1. Clone this repo
    git clone https://github.com/LinggarM/Priority-Task-Selection-Using-Evolutionary-Programming
  2. Open the repo folder you have cloned in your PC
  3. Create a virtual environment
    python -m venv myenv
  4. Activate the virtual environment
    myenv/Scripts/activate or "myenv/Scripts/activate" (Windows)
    myenv/bin/activate (Linux)
  5. Install the requirements/ dependencies
    pip install -r requirements.txt

Usage (Tutorials)

  1. Open CMD in Repository Folder

  2. Run the web app by executing this command :

    python app.py
    

    or :

    run Flask
    
  3. Open the given URL

    http://127.0.0.1:5000/
    
  4. There are 5 inputs :

    1. The number of tasks (E.g: 10)
    2. All of the task names (E.g: Food1, Food2, Food3, ..)
    3. All of the priority scales for each task. Range: 1-5, 1 for the lowest prioritize and 5 for the highest prioritize (E.g: 5, 3, 1)
    4. All of the task completion times for each task in hours. (E.g: 1, 2, 3)
    5. Total time you have in hours. (E.g: 8)
  5. Inputs example :

    • First input: 10
    • Second input: Making the bed, Washing the dishes, Washing clothes, Ironing clothes, Mopping the floor, Watering the plants, Bathing the cat, Filling the bathtub, Taking care of the children, Tidying up things
    • Third input: 4, 3, 3, 2, 2, 1, 1, 1, 3, 2
    • Fourth input: 1, 2, 3, 2, 2, 1, 1, 1, 3, 2
    • Fifth input: 8

Contributors

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgments