-
Notifications
You must be signed in to change notification settings - Fork 0
/
paper_lp_con_runs.m
49 lines (39 loc) · 1.32 KB
/
paper_lp_con_runs.m
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
% A driver for running opt problems with Saunders' PDCO
% and testing my post-processing code
clear all
close all
problem = importdata('netlib.txt');
length_problem = length(problem);
length_problem = 1;
first_prob = 1;
max_sigma(length_problem) = 0;
%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
%!! S E T U P T E S T S !!
%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
no_solvers = 3;
test = struct('Method',{},...
'krylov_method',{},...
'precond_method',{},...
'inner_tol',{},...
'PDConvergenceDescrptions',{},...
'descriptions',{});
% setup first test
test(1).Method = 224; % backslash
test(1).krylov_method = 0; % none
test(1).precond_method = 0; % none
test(1).inner_tol = 0.0; % none
test(1).PDConvergenceDescriptions = 'lt_exact_convergence';
test(1).descriptions = '$A\backslash b$';
% setup second test
test(2).Method = 23; % krylov solver
test(2).krylov_method = 10; % ppcg
test(2).precond_method = 4; % constraint preconditioner
test(2).inner_tol = 1e-2;
test(2).PDConvergenceDescriptions = 'aug_lag, loose tol';
test(2).descriptions = ['Aug lag, tol = $10\\eta_k$'];
% setup third test
test(3) = test(2);
test(3).inner_tol = 1e-8;
test(3).PDConvergenceDescriptions = 'aug_lag, tighter tol';
test(3).descriptions = ['PPCG, tol = $10^-1\\eta_k$'];
lp_test_loop;