|
7 | 7 | <br> |
8 | 8 | </div> |
9 | 9 |
|
10 | | -## Introduction |
11 | | - |
12 | | -This package provides a wrapper around [QUBOLibData.jl](https://github.com/pedromxavier/QUBOLibData.jl)'s artifact to easily access QUBO / Ising instances. |
13 | | -Instances are retrieved as model objects from [QUBOTools.jl](https://github.com/psrenergy/QUBOTools.jl). |
14 | | - |
15 | 10 | ## Getting Started |
16 | 11 |
|
17 | 12 | ### Installation |
18 | 13 |
|
19 | 14 | ```julia |
20 | | -julia> import Pkg; Pkg.add(url="https://github.com/pedromxavier/QUBOLib.jl") |
| 15 | +julia> import Pkg; Pkg.add(url="https://github.com/JuliaQUBO/QUBOLib.jl") |
21 | 16 |
|
22 | 17 | julia> using QUBOLib |
23 | 18 | ``` |
24 | 19 |
|
25 | 20 | ### Example |
26 | 21 |
|
27 | 22 | ```julia |
28 | | -julia> coll = first(list_collections()) # get code of the first registered collection |
29 | | - |
30 | | -julia> inst = first(list_instances(coll)) # get code of the first instance from that collection |
| 23 | +julia> using QUBOLib |
31 | 24 |
|
32 | | -julia> model = load_instance(coll, inst) # retrieve QUBOTools model |
| 25 | +julia> QUBOLib.access() do index |
| 26 | + println(index) |
| 27 | + end |
33 | 28 | ``` |
34 | 29 |
|
35 | 30 | ## Accessing the instance index database |
36 | 31 |
|
37 | 32 | > **Warning** |
38 | 33 | > This requires [SQLite.jl](https://github.com/JuliaDatabases/SQLite.jl) and [DataFrames.jl](https://github.com/JuliaData/DataFrames.jl) to be installed. |
39 | 34 |
|
40 | | - |
41 | 35 | ```julia |
42 | | -julia> using SQLite, DataFrames |
| 36 | +julia> using QUBOLib |
43 | 37 |
|
44 | | -julia> db = QUBOLib.database() |
| 38 | +julia> using SQLite, DataFrames |
45 | 39 |
|
46 | | -julia> df = DBInterface.execute( |
47 | | - db, |
48 | | - "SELECT collection, instance FROM instances WHERE size BETWEEN 100 AND 200;" |
49 | | - ) |> DataFrame |
| 40 | +julia> models = QUBOLib.access() do index |
| 41 | + df = DBInterface.execute( |
| 42 | + QUBOLib.database(index), |
| 43 | + "SELECT instance FROM Instances WHERE size BETWEEN 100 AND 200;" |
| 44 | + ) |> DataFrame |
50 | 45 |
|
51 | | -julia> models = [ |
52 | | - load_instance(coll, inst) |
53 | | - for (coll, inst) in zip(df[!, :collection], df[!, :instance]) |
54 | | - ] |
| 46 | + return [load_instance(index, i) for i in df[!, :instance]] |
| 47 | + end |
55 | 48 | ``` |
0 commit comments