Skip to content
Luis Santos edited this page Mar 31, 2020 · 9 revisions

Welcome to the Genetic Algorithm Continuos (GAC) wiki!

This repository has the purpose of allowing the project to be shared so that interested parties have access in a practical way and that they always have updated material. This (Still in updating)

What I this project about?

This project is a source code for a new approach to the job shop scheduling (JSSP) problem presented in this book chapter.

Abstract of the project

In this work, an event-based genetic procedure for creating parameterized active schedules is proposed to solve the classical job shop scheduling, modeled as a continuous optimization problem. Instead of work with priorities values, the genetic algorithm defines values of delay times while the priorities are determined on the basis of the Last In First Out rule. The hypothesis is that any delay must end when the priority task arrives at the machine. The scheduler is applied in a hybrid approach to solve the scheduling, which is a well-known NP-hard combinatorial optimization problem. After an initial schedule is created, it is refined by a local search and used as a seed in a final phase of optimization, in which a binary genetic indirect coding to induce permutations and generate new solutions is used. Preliminary results on a set of standard instances from literature validate the effectiveness of the proposed approach.

How can I run this code?

The project was originally developed in IDE CODEBLOCKS using C++ as the main language. And it uses GAlib as an optimization library developed by Mathew at MIT.

Setting library

This project uses the GAlib as a generic library for the genetic algorithm, therefore, first, check that the library is compiled on your computer. After that, you should have added GAlib.a to the project.

In CodeBlocks you should go to: Project Option -> Build options -> Click Option Debug -> Linker settings tab -> Add -> OK So you can click on the compiler to confirm that it is okay to run.

What it takes to contribute?