MATLAB: Which algorithm can be used to solve this optimization problem

optimization

Hello everyone, i have to minimize a objective function and my constraint is linear having only one variable. Objective function is Non Linear, Non Quadratic, often involving sums of products having factorials and integer variable. So which algorithm should i use to solve my optimization problem. Please reply it will be really helpful for me, thanking you in advance!

Best Answer

It is not clear what your problem is from the statement. Is this a problem with integer unknowns? If so, then that restricts the set of solvers that might be employed. You said this:
"and integer variable."
But you state that only in one spot. The comment about factorials may also indicate integer variables. But I cannot know this is true.
Factorials also suggests that you will next be asking why does my optimization fail because infs or NaNs were generated. Since we cannot see your problem, I cannot be sure as to whether this is a problem or not. But double precision arithmetic allows only a very limited set of factorials to be computed, without an overflow to inf.
The presence of a constraint also limits the set of solvers that may be employed.
The presence of integer variables, with a nonlinear objective, and a constraint prevents any of the tools in the optimization toolbox from applying.
I believe that the Global optimization toolbox permits solution with all of those requirements. So I would start there. But remember my earlier statement that your code will probably fail anyway, if you are computing factorials of the variables, due to an overflow.
If the search space is severely restricted due to that limit, then simple enumeration may be sufficient. Other approaches that involve logs can sometimes be applied. Or the fact that factorials often cancel out inside an expression is another thing that can be employed. But none of this is known, because we have not been shown your problem.