0

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.

  • "Best" measured how? – Scott Hunter May 08 '23 at 18:00
  • So that it does not overload ram while execution. With about 150 variables in the optimization problem, after 20k iterations, it tends to overload the 8GB RAM on my workstation. –  May 17 '23 at 13:26

0 Answers0