0
$\begingroup$

I have a number of objective functions like:

y1 = a11* x11 + a12*x11*x11+ a13*x12+.......
y2 = a21* x21 + a22*x21*x21+ a23*x22+.......
:::::
:::::
:::::

These are multiple objective functions. However, the constraints of the objective functions have dependency on each other. Something like,

x11+ x21 + x22 < const1
x12 + x21 > const2

:::::
:::::

What is the way to optimize such a system of equations? I would ideally like to use R to do the same?

y1 = 0.32 x1 + 0.21 x1*x1 + 0.49 x2... y2... y3 . . . The equations that i have is a non-linear function. These are non-linear regression equations or non-linear Market Mix Models. The x's are TV spend, Digital Spend etc. I want to 'include' all these models, use some constraints on them and optimize the spends in all the models with respect to constraints like...x1 (TV spend) < 100, TV + Digital spend < 500. I want to be able to say that of an amount of 100, i should spend, 30 on model 1, 20 on model 2( equation 2) etc

$\endgroup$
  • 1
    $\begingroup$ What is the statistical model you are trying to fit? Note that you do not state the objective functions, you state the equations. $\endgroup$ – mpiktas Nov 25 '13 at 7:43
  • $\begingroup$ I just need to maximize y1, y2...etc. I'm unsure about what you mean by the statistical model. Yes, these equations is what i want to optimize on given constraints. $\endgroup$ – user35277 Nov 25 '13 at 8:21
  • 1
    $\begingroup$ Optimization means that you have a function which for given parameters produces a number. So your first function is $f(x_{11},x_{12})=a_{11}x_{11}+a_{12}x_{11}^2+a_{13}x_{12}+...$? It would be helpful if you write full definition without the elipsis, and state the nature of constants $a_{ij}$. Also it would really help to know what is the problem you are trying to solve. For particular problems there are special optimisation procedures which are much better than general ones. $\endgroup$ – mpiktas Nov 25 '13 at 8:41
  • $\begingroup$ As the problem is stated now, the obvious (and probably not entirely viable) solution is to minimize the sum of squares of your objective functions. Then you have one objective function instead of many, and you can use R packages Rsolnp and alabama for constrained optimisation. Also it would help to look into following list of R packages which deal with optimisation: cran.r-project.org/web/views/Optimization.html $\endgroup$ – mpiktas Nov 25 '13 at 8:44
  • $\begingroup$ y1 = 0.32 x1 + 0.21 x1*x1 + 0.49 x2... y2... y3 . . . The equations that i have is a non-linear function. These are non-linear regression equations or non-linear Market Mix Models. The x's are TV spend, Digital Spend etc. I want to 'include' all these models, use some constraints on them and optimize the spends in all the models with respect to constraints like...x1 (TV spend) < 100, TV + Digital spend < 500. I want to be able to say that of an amount of 100, i should spend, 30 on model 1, 20 on model 2( equation 2) etc. $\endgroup$ – user35277 Nov 25 '13 at 10:38
2
$\begingroup$

If your problem is a multiobjective optimization problem with constraints, and both the objectives and/or constraints are nonlinear/ non convex in nature then an appropriate method of choice is evolutionary multiobjective optimization method. Click here for the list of reference and methods that can be used for your problem.

In terms of software,

  • I'm familiar with Global optimization toolbox in Matlab has a multiobjective evolutionary solver than can handle linear constraints.
  • $R$ has an excellent package called MCO that is multiobjective optimization solver that handles both linear and nonlinear constraints. I have had excellent results using this package.

Both the aforementioned software implements Deb's a very popular NSGAII algorithm.

Please tell us if you succeed in using these for your problem and if you have any questions.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.