Skip to content

pedromxavier/DOPT.jl

Repository files navigation

DOPT.jl

Installation

julia> using Pkg

julia> Pkg.add(url=raw"https://github.com/pedromxavier/DOPT.jl")

Running an experiment

DOPT.run(
    DOPT.SimulatedAnnealing();
    # Select instances:
    sizes = [40, 80, 100],
    codes = [1, 2, 3],
    # How many times each instance is runned:
    num_samples = 10,
    # Number of annealing steps and metropolis steps:
    num_iter    = 1_000,
    num_subiter = 1_000,
    # Temperature settings:
    max_temp = 200.0,
    min_temp = 1E-10,
)

Updating Best Solutions

  1. Fork this repository.
  2. Rewrite the results.json file with your own results.
  3. Open a Pull Request and wait for the workflow to run.

The results.json file must look like this:

[
    {
        "n" : 40,
        "i" : 1,
        "x" : [1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0]
    },
    {
        "n" : 40,
        "i" : 2,
        "x" : [1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0]
    },
    {
        "n" : 40,
        "i" : 3,
        "x" : [1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0]
    },
    ...
]

It must contain an array of results, each identified by the "n" and "i" fields (instance size and instance no.), followed by the "x" entry containing the (binary) solution vector.

About

Julia library for the Determinant-Optimality Problem (D-OPT)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors

Languages