Optimization problem with complex constrain
Hello! I have a portfolio optimization problem from finance. I’m looking to formulate a problem that helps me solve this globally, or just find a near optimal solution.
Essentially I need to choose a subset of securities out of a larger set. The objective function is to minimize the sum of starting market values of the selected security. The constraints include weights (decision variable) between 0 and 1 inclusive. The additional constraint is essentially the accumulated value of the portfolio after 50 years which has to be greater than 0. The accumulated value is a very complex function of future cash flows (known) and future values (known) of selected securities. It is complex because at each time step there will be a decision of selling of a portion of the assets and buying of new assets (values and cash flows all known), and these decision impacts similar decision at the next time step and so on until time 50. Given the time 0 selection of securities, the accumulated value is deterministic but very complicated.
I’m almost certain this is linear, I have built out a two securities version of this in Excel and the graph looks linear (at least within certain bounds).
Does anyone have ideas on how to handle very complex constraint like this one?
If there other algorithm that can help to find an optimal (or near optimal) solution? Any clever search algorithm or heuristics I should look into? I have experience with cvxpy and LP, but I m stuck on this problem because of this complicated constraint.
Any hint for solving this will be greatly appreciated!