-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathREADME.txt
More file actions
85 lines (64 loc) · 3.24 KB
/
README.txt
File metadata and controls
85 lines (64 loc) · 3.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
This is instructions set to run test of Primal-dual Interior-point LP Solver
using Julia programming language (and its corresponding REPL command line):
# Authored by: Timur Ibrayev and Gobinda Saha
# Last Modified: 5/4/2020
0. Set your current working directory to the folder containing project files
[project2.jl, Manifest.toml, Project.toml, and test.jl],
by following these steps:
a. cd("./path/to/project_jl_folder")
1. Install all the required packages, by following these steps:
a. Open Julia REPL by running "julia" in the terminal
b. Press "]" to get into Package mode
c. Run "activate ." to activate "project_jl" environment
*. Note that REPL prompt should change to (project_jl) to
reflect the change of environment
*. Optionally, check required packages by running "status"
d. Run "instantiate" to install packages required by the project
in the same state given by the project's Manifest.toml file
e. Press <<backspace>> or <<CTRL+C>> to exit Package mode
*. Optinoally, in Julia REPL run "using Pkg; Pkg.status()" and verify that
the packages listed are the same as the required packages
2. If your problem IS ALREADY in IplpProblem data structure,
to run IPLP solver on that problem in Julia REPL follow these steps:
a. Run "include("./project2.jl")"
b. Call IplpSolver by running:
"soln = iplp(problem, tol; maxit, quiet)"
Note:
-problem is required input argument specifying the input problem
which should be in IplpProblem data structure.
Typeof: IplpProblem, Default: None, Required
-tol is required input argument to specify precision tolerance,
which also dictates convergence criteria.
Typeof: Float64, Default: None, Required
-maxit is optional input argument to specify max iterations.
Typeof: Int64, Default: 100
-quiet is optional input argument to display compute progress.
Typeof: Bool, Default: false
3. If your problem IS NOT in IplpProblem data structure,
to run IPLP solver on some example problem in Julia REPL
follow these steps:
a. Run "include("./test.jl")"
b. Run "include("./project2.jl")"
c. If you want to run the test on some <<NAME>> LP problem
from LPNetlib, then specify which problem by running
"name = "<<NAME>>"" (Name of the problem should be in quotes)
d. Run "md = mdopen(string("*/", name))"
e. Run "MatrixDepot.addmetadata!(md.data)"
Note: this step is required due to issue posted on:
https://github.com/JuliaMatrices/MatrixDepot.jl/issues/34
f. Run "problem = convert_matrixdepot(md)"
h. Finally, call IplpSolver by running:
"soln = iplp(problem, tol; maxit, quiet)"
Note:
-problem is required input argument specifying the input problem
which should be in IplpProblem data structure.
Typeof: IplpProblem, Default: None, Required
-tol is required input argument to specify precision tolerance,
which also dictates convergence criteria.
Typeof: Float64, Default: None, Required
-maxit is optional input argument to specify max iterations.
Typeof: Int64, Default: 100
-quiet is optional input argument to display compute progress.
Typeof: Bool, Default: false
*. "test.jl" file contains commented example code with example
LP problem ("lp_pilotnov") from LPNetlib for your reference.