There is a newer version of the record available.

Published July 7, 2025 | Version v2
Software Open

Avances Teóricos y Prácticos del Permutation Flowshop Scheduling Problem

  • 1. ROR icon Mathematics Research Center
  • 1. ROR icon Mathematics Research Center
  • 2. ROR icon Consejo Nacional de Humanidades, Ciencias y Tecnologías

Description

This respository contains the source code for the Memetic Algorithm with Explicit Diversity Managemente (MA-EDM) and the prefix-suffix lower bounds. 

 

The solutions for the VRF dataset obtained by MA-EDM are provided in the file UBKS.xlsx 

The lower bounds and executions times computed by the prefix-suffix bound are provided in the file LowerBounds.xlsx 

 

Installation

  1. Clone the repository
  2. Build the project with the provided Makefile using make
  3. The executables (MA-EDM and PrefixSuffixBound) will be created within the same folder

Usage

Running the MA-EDM algorithm

To execute the algorithm, use the following command:
 
./MA-EDM [OPTIONS]

Parameters

The algorithm requires the following parameters in order:
  1. Seed
  2. Path of instance file (eg. 'VFR300_40_7_Gap.txt')
  3. Dataset (VRF or TAILLARD)
  4. $N_P$ (population size)
  5. Diversity management (ADVANCED_DIVERSITY_CONTROL, BEST_NON_PENALIZED, GENERALIZED_CROWDING_ADAPTIVE, GENERATIONAL_ELITIST, RESTRICTED_TOURNAMENT_SELECTION, REPLACE_WORST)
  6. Execution time (in seconds, ignored if use time function is $1$)
  7. Use time function (0, 1)
  8. File to output summary of execution (like makespan and permutation found)
  9. Save intermediate populations (0, 1)
  10. Amount generations outputs (ignored if save intermediate populations is 0)
  11. File to output intermediate generations (ignored if save intermediate populations is 0)

For GENERALIZED_CROWDING_ADAPTIVE

    12. $\theta$

For RESTRICTED_TOURNAMENT_SELECTION

    12. $w$ (window size)

For ADVANCED_DIVERSITY_CONTROL

    12. $N_{c}$ (rate to calculate $N_{close} = N_c \times N_P$)
    13. $N_{e}$ (rate to calculate $N_{elite} = N_e \times N_P$)

Example

./MA-EDM 1 VFR300_40_7_Gap.txt VRF 25 BEST_NON_PENALIZED 0 1 LOG.txt 1 50 POPULATION.txt

Running the Prefix-Suffix bounds

 To execute the algorithm, use the following command:

./PrefixSuffixBound [OPTIONS]

 

Parameters

The algorithm requires the following parameters in order:
  1. Path of instance file (eg. 'VFR300_40_7_Gap.txt')
  2. Dataset (VRF or TAILLARD)
  3. File to output the bounds

 

Files

PFSP.zip

Files (238.5 kB)

Name Size Download all
md5:6a5a25ff86e995c5bf3afc23803d4a46
40.7 kB Download
md5:70ccc9b981e8d81a505cc03d884f28d1
21.8 kB Preview Download
md5:81b9792cccb31a1beb89660728d4c92e
176.0 kB Download

Additional details

Software

Programming language
C++