Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

st: Maximizing under constraint with Mata ?


From   Ozgur Ererdem <[email protected]>
To   "[email protected]" <[email protected]>
Subject   st: Maximizing under constraint with Mata ?
Date   Fri, 14 Sep 2012 17:32:33 +0000

Dear Stata users, 

I've been trying to implement an optimization under constraint, using the optimize() command of Mata. 
Both the function I'm willing to maximize and the constraint are non-linear. 

Below please find the code I am using to define the Lagrange function denoted as "Ref". p[K] is the Lagrange multiplier, and the other p[i]s are the unknown parameters I am looking for. I use a "d0" evaluatortype.

Mata have been unable to find a solution, because  it "cannot calculate numerical derivatives  -- discontinuous region with missing values encountered" 

Am I making a mistake in the way I write the problem? Has Mata the capacity to solve these kinds of optimization problems? Thank you very much for your help. 

Regards 



void mysolver(todo, p, Ref, S,H )
      {external alpha, w, M, txm, k, X 
	  delta = J(k, 1, 0) 
	  for (i=1; i<=k; i++) {
	  delta[i] = exp(X[i] + alpha*(p[i]*1.196))
	  } 	 
	  S0 = runningsum(delta) 
	
      CA = J(k, 1, 0) 
	  for (i=1; i<=k; i++) {
      CA[i] = p[i]*( (delta[i]/(1+S0[k]))*M )
	  }
	  CAtot = runningsum(CA)
	  
	  CT = J(k, 1, 0)
	  	  for (i=1; i<=k; i++) {
	  CT[i] = w[i]*( (delta[i]/(1+S0[k]))*M )
	  }
	  CTtot = runningsum(CT)
	  
	  K = k+1 
	  Ref = J(1,1,0) 
	  
	  Ref = CAtot[k] + p[K]*(((1-txm)*CAtot[k]) - CTtot[k]) 
	  
	 }




Özgür Kaan Ererdem
Economist 
ECOPA


Tél: +33 4 20 04 00 42 
Fax: +33 5 67 69 91 06
[email protected] 
www.ecopa.com



*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index