-
Notifications
You must be signed in to change notification settings - Fork 1
/
todo.txt
75 lines (63 loc) · 3.31 KB
/
todo.txt
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
to do, using sub-nullspaces, June 2022
Use mapping nullspace to get more local sum-even nullspace vecs
IIRC issue was nullspace becomes too large, but it worked
double-check that we're not doing RREF and HNF when we already have the nullspace.
Test timing, robustness
Find the problem that was motivating this approach, test it.
HNF initial value, add goal as another row when doing column-ops to reduce, should give us the goal of the final variable
do something to discover symmetry and solve if efficiently, either by breaking symmetry or recognizing when things are equivalent
to do (x = done)
x move freeze_problem_size to start of solve, depending on whether solving for the first time or not
x CUBIT_TRUE, CUBIT_FALSE to true and false
x GE etc to GE, etc
x CUBIT_FAILURE, CUBIT_SUCCESS to bool
x data layout for variables with goals and slack variables and sum-even vars... probably fast enough we can just go over all of m and check the goals. maybe need something to mark vars whose column coefficients are 2
x gather and save as set at beginning of problem. Caller might have defined dummy variables, etc.
x auto determine variable type
x sum-even constraint conversion
x fill in new_col
x initialize goals to 1, bounds to 1,inf, etc.
x-skipped int new_row(MRow &Mrow); convert from MRow to our sparse format
x PRINT_INFO, print_flag, put in log instead
x verify_full_solution, get rid of refentities
x get rid of names
x figure out when to sort rows, perhaps a flag as to whether they've been sorted or not
x clean up Queue friend issues
x method to copy a problem
test it
x changing a row / col / constraint / bound invalidates the old solution
test it
x figure out when to reset the solved flag,
x callable method to invalidate old solution
test invalidating the old solution, and resolving
x get rid of names ( caller can keep track of that if needed)
x IA::solve_feasible, skip improvement phase
x-skip, checked manually use a tool to determine code that isn't used and delete it
x fill in public interface methods
x get rid of compiler warnings, sign comparision and losing precision, etc.
x auto resizing
fill in test.cpp
x get rid of the +1 indexing when subdividing the problem. check for inefficient array searches
beautify output
x collect public, private methods of IncrementalIntervalAssignment in header file
x organize like methods
x combine solve_map and solve_even into one function
x vector -> using vector, vector
cmake
test on a few compilers
template test problem, instructions, in test.cpp
x readme file
x cputimer - not a significant component, OK to release
check Result error flags, solved flags, etc.,
export a few monster problems (heat sink) from cubit
paperwork to release it
some links to sites to reference or look at in more depth:
https://sites.math.rutgers.edu/~sk1233/courses/ANT-F14/lec3.pdf
https://sites.math.rutgers.edu/~sk1233/courses/ANT-F14/lec4.pdf
if we ever need the determinant
https://en.wikipedia.org/wiki/Adjugate_matrix
https://www.engr.colostate.edu/~thompson/hPage/CourseMat/Tutorials/CompMethods/doolittle.pdf
https://en.wikipedia.org/wiki/Crout_matrix_decomposition
https://www.geeksforgeeks.org/l-u-decomposition-system-linear-equations/
convert xcode projec to CMakeLists.txt
https://github.com/mulle-nat/mulle-xcode-to-cmake