maximization problem with random variables.

2 ビュー (過去 30 日間)
msh
msh 2014 年 10 月 24 日
回答済み: Siddharth Sundar 2014 年 10 月 29 日
I have the following maximization problem.
max (E[(v(A) R)^{1-gamma}])^{1-gamma} with respect to theta, phi where R is defined below:
R = (1-theta-phi)*R^f + theta*M(A) + phi*(G(A)+ eta)
Assumptions
  • M(A), G(A) - denotes a function M of A, which I know
  • v(A) - denotes an unknown function v(A)
  • A is a random variable that follows a Markov process
  • eta is another random variable independent from A and is assumed to be normally distributed
  • R^f and gamma are given numbers/parameters
  • the solution must satisfy 0=<theta,phi<=1
Thus the expectations operator is defined over these two random variables. If it helps, further suppose that for the unknown function v(A), it is defined recursively from:
v(A)_{n-1} = T([rho(V(A)_{n+1})])
where T is known function of rho(.), and rho is defined as the maximum value obtained from the previous optimization problem. That is, assuming that someone has found the theta, phi plugging those back to the objective get the "rho".
Any comments, suggestions on how I can implement this on matlab?
The above, comes from an economic model so all the theoretical properties for a solution and convergence are established and we know that a solution exist.

回答 (1 件)

Siddharth Sundar
Siddharth Sundar 2014 年 10 月 29 日
From what I understand, you want to maximize an expected value functional. Since there are random numbers involved, the optimization problem could be hard to solve with conventional methods.
You could possibly start by constructing functions that generate A and eta. Then implement M(A) and G(A). If A and eta depend on theta and phi, you could incorporate this dependence as well. Then, move on to the function that would calculate v(A) from a given A, theta and phi.
Finally you could implement the objective function that evaluates the expected value for a given theta and phi. This objective function would call all previously implemented functions. You could try out the objective function using various initial values for theta and phi to get an idea about the feasible region and the behavior of the objective function.
Since it is a maximization problem, you could then minimize the negative of the objective using fmincon or patternsearch.
If you are not satisfied with the solution process or result, you could look at the following link: When the Solver Fails

カテゴリ

Help Center および File ExchangeSurrogate Optimization についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by