Skip to content

pedroapero/MoCObench-MPI-metaheuristic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 

Repository files navigation

#MoCObench-MPI-metaheuristic Optimisation algorithm for MUBQP-like problems.

##Prerequisites

  • mpich
  • g++
  • gnuplot-x11
  • gnuplot

##Compilation

mpic++ MUBQPEval-heuristic-par.cpp

##Execution

mpirun -np [number of processes] ./a.out instance.dat [solutions pool size]

The larger the number of solutions to send to the workers, the later the filtering. The smaller the number of solutions, the more important the losses in communication time.

##Interruption To interrupt the process and display efficiency informations, send a SIGUSR1 to mpirun's process:kill -s [mpirun's PID]

##Sequential version The sequential version takes the MUBQP instance as only parameter:

./MUBQPEval-heuristic-seq instance.dat

The ctrl+c interruption will display the efficiency informations.

##Deployment

  • Local deployment:
./launch_instances.sh [number of instances] [instance duration (seconds)] [number of processes]
[instance file] [pool size]
  • Passive Grid5000 deployment:
oarsub -l /nodes=[number of nodes],walltime=xx:xx:xx "./launch_passive_instances.sh [number of
instances] [instance duration (seconds)] [instance file] [pool size]"

Objective vectors will be stored in files named: [instance file][duration][number of processes][pool size][instance number].txt

##TODOs

  • Send back solutions in blocks
  • Filter whatever M (remove #defines)
  • Implement compare function to refactor filter_solutions()
  • Avoid copies
  • Avoid returning seeds: return index of original solution, and number of flipped bit (requires a vector of sorted non-optimal-but-being-explored solutions)
  • Compare with best results on MoCObench website
  • Send pools of solutions (seeds) (parametrized size)
  • Implement clean sequential version and compare performances
  • Evaluate computation time and communication time
  • Dynamic pool size: 25% ; 50% ; 75% or 100% of (number of solutions to explore) / (number of processes)
  • Grid5000

About

optimisation algorithm for mUBQP-like problems

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published