We confirmed that C++14(g++ Ubuntu 7.5.0-3ubuntu1~18.04) and C++17(g++ (Homebrew GCC 11.2.0_3) 11.2.0) successfully compiled SAGAS.cpp.
- Access this page
- Follow the instructions in the notebook.
-
Get the source code.
- If you are familiar with
git
, simply clone this repository and move into the directory.$ git clone https://github.com/bioinfo-tsukuba/SAGAS.git $ cd SAGAS $ pwd /path/to/SAGAS
- Alternatively,
- Download a zip archive.
- Extract the archive (a directory named
SAGAS-main
will be created). -
cd
into the directory.
- If you are familiar with
-
Compile SAGAS.cpp
g++ SAGAS.cpp -o SAGAS_compiled
-
Run example cases.
$ ./SAGAS_compiled -log Sample "This is sample case" -conf ./sample/configs/Gu2016x1_sample.tsv
Short explanation
SAGAS_compiled -log Userbane "memo" -conf config.tsv [-penalty {penalty}] [-gl {gl} {failedskip}]
-
Make setting files(dependency.tsv, machines.tsv, operations.tsv, tcmb.tsv) in a directory. Blank templates are in the "Blank templates" directory.
Detail explanation for making setting files
-
machines.tsv
The No.[Machine_ID] machine is a type [Machine_type] machine. It is called [Machine_name].
-
operations.tsv
The [Operation_ID]-th operation in the [Job_ID]-th job can be processed by the type [Compatible_machine] machine within [Processing_time] (msec).
-
dependency.tsv
Let the [Operation_ID_1]-th operation in the [Job_ID]-th job be
$O_a$ .Let the [Operation_ID_2]-th operation in the [Job_ID]-th job be
$O_b$ .$O_a$ must finish before$O_b$ begins. -
tcmb.tsv (a little bit complex)
Let the [Operation_ID_1]-th operation in the [Job_ID]-th job be
$O_a$ .Let the [Operation_ID_2]-th operation in the [Job_ID]-th job be
$O_b$ .-
Pattern A ([Point_1] == Start && [Point_2] == Start)
The absolute difference between the start time of operation
$O_a$ and the start time of operation$O_b$ must be less than or equal to [Time_constraint]. -
Pattern A ([Point_1] == End && [Point_2] == Start)
The absolute difference between the end time of operation
$O_a$ and the start time of operation$O_b$ must be less than or equal to [Time_constraint]. -
Pattern A ([Point_1] == Start && [Point_2] == End)
The absolute difference between the start time of operation
$O_a$ and the end time of operation$O_b$ must be less than or equal to [Time_constraint]. -
Pattern A ([Point_1] == End && [Point_2] == End)
The absolute difference between the end time of operation
$O_a$ and the end time of operation$O_b$ must be less than or equal to [Time_constraint].
-
-
-
Make a config file (you can use the interactive config maker).
- test_dep*.tsv: All dependencies for visualisation.
- test_machines*.tsv: All machines for visualisation.
- test_time*.tsv: All schedules (each start time and each allocated machine).
- test_result*.tsv: Summary of each scheduling in an experiment includes the following:
- Date of experiment
- Experiment ID
- Number of units per type of instrument installed
- Number of units of each type of instrument actually used
- Score (execution time)
- The computation time of SA steps
- The computation time of the entire schedule
- The simulated-annealing step where the best schedule found
- The total number of simulated-annealing steps
- Evaluation of the output solution (Greedy-derived, SA-derived or failed)
- *_log.txt: Log includes the following:
- All configurations for the simulation
- (optional) User name
- (optional) Comment
- (optional) Comment date