experiments

Module summary

Implements most of the numerical experiments in the paper.

Almost every script here implements a stand-alone experiment, which is run from Makefile with parameters passed via the command line from the make recipe. Passing --help to a script usually prints the available options.

The only notable exception is UFLP_2_cav, describing the j-UFLP experiment, which is implemented as a stand-alone module.

(Note that the module contains some experiments that were left out from the second revision of the paper.)

(In the implementation details below, click on class/function names for additional documentation and links to the source code.)

❖❖❖

❖❖❖

Implementation details

Modules

experiments.align_narrow_DDs

Trying to figure if the heuristic performs worse for narrow DDs.

experiments.compare_simpl_LBs

Compares different lower bounds for the simplified problem.

experiments.dclouds

Implements a MIP+DD approach experiment (left out from the paper).

experiments.dclouds_rndcover

Investigates a special class of instances: randomized cover DD.

experiments.dclouds_sclass

Investigates a special class of instances: different-width DDs.

experiments.exp_BDD_example

Provides an example when simplified-problem based heuristic is tight for the original problem.

experiments.gen_lsizes_stats

Generates a dataset summary for BDDs: layer widths.

experiments.greedy_UFLP_sizes

An experiment for joint UFLP + special instance type (cavemen).

experiments.heu_sol_struct

Examines heuristic solutions to a random align-BDD instance.

experiments.jUFLP_simscores_M

Generates and solves the special class j-UFLP instances.

experiments.jUFLP_specins

An experiment for joint UFLP + special instance type

experiments.jUFLP_specins_smaller

An experiment for joint UFLP + special instance type

experiments.jUFLP_vsMIPs

An experiment for joint UFLP + special instance type (cavemen).

experiments.jUFLP_wCPPMIP

An experiment for joint UFLP + special instance type (cavemen).

experiments.jUFLP_w_simscores

Generates and solves the special class of j-UFLP instances.

experiments.jUFLPcm

An experiment for joint UFLP + special instance type (cavemen).

experiments.jUFL_hist_sizes

Benchmarks DD sizes for different solution methods of joint UFLP.

experiments.misc

Contains common misc utilities for numerical experiments

experiments.par_scal_test

Creates a log for the scaling figure (simplified problem vs greedy sifts).

experiments.rnd_dia_hist_sizes_control

Benchmarks DD sizes for different solution methods (random diagrams)

experiments.sample_BB_tree

Aux script: draws a sample B&B search tree for the auxiliary problem (with varseq.VarSeq)

experiments.softcover

Generates and solves UFLP with 'soft cover' constraints.

experiments.sumofproducts

Performs the sum-of-products linearize/solve exercise.

experiments.tUFLP_runtimes

Benchmarks runtimes for different solution methods of typed-UFLP.

experiments.tUFL_hist_sizes_control

Benchmarks DD sizes for different solution methods for typed UFLP.