I have a function defined by g(x) = f1(x1) + f2(x2)... fn(xn)
I have defined bounds on the function and therefore I have a initial set of points [x1,f1(x1)], [x2,f2(x2)]...[xn,fn(xn)]_lb
; [x1,f1(x1)], [x2,f2(x2)]...[xn,fn(xn)]_up
which are lower and upper bounds respectively for each components of g(x)
Then I do some computation and obtain a bunch of these points. Let's say I get [x5,f5(x5)], [x17,f17(x17)],[x342,f342(x342)]_iter1
and now I want to add them to my data structure such that I have just lower and upper bounds for all other points and for the obtained points, I have lower bound, iter 1, upper bound points.
Then the iteration repeats and I obtain another set of points and so on.
I thought of doing it through sets but sets and dictionary are not ordered.
For context, I am trying successive approximation of non-convex functions to solve g(x)
to optimality. And the coordinates will be used to define linear functions locally. I need them to be ordered so that I can have lines between successive points. Each line will then be added to respective component function and a linear solver will be called. New sets of points will be obtained based on the results from linear solvers.