-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathreport.tpl
74 lines (69 loc) · 2.28 KB
/
report.tpl
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
<!DOCTYPE html>
<html lang="en">
<head>
<title>CVX VS PP</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<h1>CVX Vs. Proximal Point Comparison Report</h1>
<p>This report presents a comparison between the CVX and the Proximal Point algorithms over different problems.</p>
<p>In the table below the used Proximal Point parameters are displayed:</p>
% if params is not None:
<table class="table table-striped">
<thead class="text-center bg-info">
<th>Name</th>
<th>Value</th>
</thead>
<tbody class="text-center">
% for key, value in params.items():
<tr>
<td>${key}</td>
<td>${value}</td>
</tr>
% endfor
</tbody>
</table>
% endif
<p>
The table below represents an overview of how the 2 algorithms run. You can
see that there are multiple comparison points that can be taken into consideration.
</p>
<table class="table table-striped">
<thead class="bg-info text-center">
<tr>
<th>#</th>
<th>Problem Name</th>
<th>Algorithm Name</th>
<th>Iters.</th>
<th>Min. Value</th>
<th>Time (s)</th>
</tr>
</thead>
<tbody class="text-center">
% for idx, problem in enumerate(problems):
<% rowspan = len(problem['algorithms']) %>
<tr>
<td bgcolor="#bad6d3" rowspan="${rowspan}"><strong>${str(idx+1)}</strong></td>
<td bgcolor="#bad6d3" rowspan="${rowspan}"><strong>${problem['name']}</strong></td>
% for i, algo in enumerate(problem['algorithms']):
% if i > 0:
<tr>
% endif
<td>${str(algo['name'].upper())}</td>
<td>${str(algo['iters'])}</td>
<td>${str(algo['f_val'])}</td>
<td>${str(algo['cpu_time'])}</td>
</tr>
% endfor
% endfor
</tbody>
</table>
</div>
</body>
</html>