CHANGES IN VERSION 2.19.1 SINCE VERSION 2.19

Major Changes 

  • Re-implemented the join operation for JaCoP spaces, which was using unjustifiably large amounts of RAM to achieve undue speed-ups. This change results in the following performance impacts when using JaCoP:
    • Max-Sum has become about 2x slower on graph coloring problems and 50% slower on large meeting scheduling instances (see graphs below); 
    • P-DPOP's runtime performance has been significantly degraded, but it is now able to scale to larger problem instances before running out of RAM (see graphs below). 
  • Fixed several bugs in the JaCoP interface (after a report by Ajdin Sumic). These bug fixes result in the following performance impacts when using JaCoP:
    • Max-Sum has become 30% faster on loose random Max-DisCSP instances (see graphs below); 
    • SynchBB has become 20%-30% faster on larger problem instances (see graphs below); 
    • AFB has become 20% faster on graph coloring problems and up to 50% on large meeting scheduling problems (see graphs below); 
    • MGM and MGM-2 have become 10% faster on meeting scheduling (see graphs below).
  • Introduced a new Python plotPerInstance() function to produce graphs in which the performance is reported against each problem instance, in algorithm-specific increasing order (improvement request by Ajdin Sumic). 

Minor Changes 

  • The name of the temporary results file can now be passed as an optional parameter to the Python run() and runFromRepo() functions (improvement request by Ajdin Sumic).
  • FRODO now comes with sample XCSP problem instances in the folder experiments/repository to illustrate the intensional constraints listed in the user manual (improvement request by Ajdin Sumic).
  • Improved the auto-sizing of logarithmic y axes in the Python plot() function.
  • Fixed a bug in the JaCoP XCSP parser triggered on Diff2 global constraints. 

Performance Impacts of the New Join Implementation 

Max-Sum on Graph Coloring 

Max-Sum 2.19.1 on graph coloring

Max-Sum on Meetings Scheduling 

Max-Sum 2.19.1 on Meeting Scheduling

P-DPOP on Graph Coloring 

P-DPOP 2.19.1 on Graph Coloring

P-DPOP 2.19.1 on Graph Coloring with Out-of-RAM cases

P-DPOP on Max-DisCSPs 

P-DPOP 2.19.1 on Max-DisCSPs

P-DPOP 2.19.1 on Max-DisCSPs with Out-of-RAM cases

P-DPOP on Meeting Scheduling 

P-DPOP 2.19.1 on Meeting Scheduling

P-DPOP 2.19.1 on Meeting Scheduling with Out-of-RAM Cases

Performance Impacts of the Bug Fixes

Max-Sum on Max-DisCSPs

 Max-Sum 2.19.1 on Max-DisCSPs

SynchBB on Graph Coloring 

SynchBB 2.19.1 on Graph Coloring

SynchBB on Max-DisCSPs 

SynchBB 2.19.1 on Max-DisCSPs

SynchBB on Meetings Scheduling 

SynchBB 2.19.1 on Meeting Scheduling

AFB on Graph Coloring

AFB 2.19.1 on Graph Coloring

AFB on Meetings Scheduling

AFB 2.19.1 on Meetings Scheduling

MGM on Meetings Scheduling

MGM 2.19.1 on Meetings Scheduling

MGM-2 on Meetings Scheduling

MGM-2 2.19.1 on Meetings Scheduling