<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: notation of complex functions PROC OPTMODEL in Mathematical Optimization, Discrete-Event Simulation, and OR</title>
    <link>https://communities.sas.com/t5/Mathematical-Optimization/notation-of-complex-functions-PROC-OPTMODEL/m-p/368332#M1882</link>
    <description>&lt;P&gt;Yes, you can use the&amp;nbsp;&lt;A href="http://go.documentation.sas.com/?docsetId=ormpug&amp;amp;docsetVersion=14.2&amp;amp;docsetTarget=ormpug_optmodel_syntax03.htm&amp;amp;locale=en#ormpug.optmodel.npximpvarstmt" target="_self"&gt;IMPVAR statement&lt;/A&gt; to define expressions that you can reference later, including in an objective&amp;nbsp;declaration.&lt;/P&gt;</description>
    <pubDate>Mon, 19 Jun 2017 13:58:11 GMT</pubDate>
    <dc:creator>RobPratt</dc:creator>
    <dc:date>2017-06-19T13:58:11Z</dc:date>
    <item>
      <title>notation of complex functions PROC OPTMODEL</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/notation-of-complex-functions-PROC-OPTMODEL/m-p/367960#M1878</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I don’t have much experience in using proc optmodel. I try to optimize rather complex function f. See below and it is just part of it. I wonder if there is a way to simplify it notation. In general, I would like to know if I deal with min of function z(a,b,c)=(k(a,b,c) – g(a,b,c))^3-sin(g(a,b,c)). Can I define first function k and g &amp;nbsp;and then search for min z(a,b,c) and refer to functions f and g?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you in advance!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;JED&lt;/P&gt;&lt;P&gt;&lt;FONT face="Calibri" size="3" color="#000000"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data bard;&lt;/P&gt;&lt;P&gt;set lib1.test;&lt;/P&gt;&lt;P&gt;C_T=Sigma_hat*sqrt(T)*F_hat/sqrt(2*3.14159265359*2);&lt;/P&gt;&lt;P&gt;Ln_F_hat=log(F_hat);&lt;/P&gt;&lt;P&gt;drop obs;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc optmodel;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set J = 1..60;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set I = 1..16;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; number T, F_hat, Sigma_hat, C_T, Ln_F_hat;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; read data bard into T F_hat Sigma_hat C_T Ln_F_hat;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; number v{k in J} = F_hat;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc optmodel;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set J = 1..60;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set I = 1..16;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; number T, F_hat, Sigma_hat, C_T, Ln_F_hat;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; read data bard into T F_hat Sigma_hat C_T Ln_F_hat;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; number v0{k in J} = T;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; number v1{k in J} = F_hat;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; number v2{k in I} = Sigma_hat;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; number v3{k in I} = C_T;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; number v4{k in J} = Ln_F_hat;&lt;/P&gt;&lt;P&gt;&amp;nbsp; var kappa init 0.8541;&lt;/P&gt;&lt;P&gt;&amp;nbsp; var chi_0 init 1.8373;&lt;/P&gt;&lt;P&gt;&amp;nbsp; var chi_1 init 2.02;&lt;/P&gt;&lt;P&gt;&amp;nbsp; var mu_psi init -0.0593;&lt;/P&gt;&lt;P&gt;&amp;nbsp; var sigma_chi init 0.4069;&lt;/P&gt;&lt;P&gt;&amp;nbsp; var sigma_psi init 0.00000216;&lt;/P&gt;&lt;P&gt;&amp;nbsp; var rho_chi_psi init 0.000001;&lt;/P&gt;&lt;P&gt;&amp;nbsp; var rho init 0.00647;&lt;/P&gt;&lt;P&gt;&amp;nbsp; var psi init 2.200;&lt;/P&gt;&lt;P&gt;min f=sum{k in J}&lt;/P&gt;&lt;P&gt;(&amp;nbsp; psi +EXP(-1*kappa*v0[k])*chi_0 +(1-EXP(-1*kappa*v0[k]))*chi_1+mu_psi*v0[k]+0.5*((1-EXP(-2*kappa*v0[k]))*(sigma_chi^2)/(2*kappa)+(sigma_psi^2)*v0[k]+2*(1-EXP(-1*kappa*v0[k]))*((rho_chi_psi*sigma_psi*sigma_chi)/kappa))-v4[k]&amp;nbsp; )**2;&lt;/P&gt;&lt;P&gt;con c1: sigma_chi&amp;gt;=0;&lt;/P&gt;&lt;P&gt;con c2: sigma_psi&amp;gt;=0;&lt;/P&gt;&lt;P&gt;con c3: -1&amp;lt;=rho_chi_psi&amp;lt;=1;&amp;nbsp;&lt;/P&gt;&lt;P&gt;SOLVE WITH NLPC;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; print kappa;&lt;/P&gt;&lt;P&gt;&amp;nbsp; print&amp;nbsp; chi_0 ;&lt;/P&gt;&lt;P&gt;print chi_1 ;&lt;/P&gt;&lt;P&gt;print mu_psi;&lt;/P&gt;&lt;P&gt;print sigma_chi;&lt;/P&gt;&lt;P&gt;print sigma_psi ;&lt;/P&gt;&lt;P&gt;print&amp;nbsp; rho_chi_psi;&lt;/P&gt;&lt;P&gt;print rho ;&lt;/P&gt;&lt;P&gt;print psi;&lt;/P&gt;&lt;P&gt;print f;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;data bard;&lt;BR /&gt;set lib1.test;&lt;BR /&gt;C_T=Sigma_hat*sqrt(T)*F_hat/sqrt(2*3.14159265359*2);&lt;BR /&gt;Ln_F_hat=log(F_hat);&lt;BR /&gt;drop obs;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;proc optmodel;&lt;BR /&gt;set J = 1..60;&lt;BR /&gt;set I = 1..16;&lt;BR /&gt;number T, F_hat, Sigma_hat, C_T, Ln_F_hat;&lt;BR /&gt;read data bard into T F_hat Sigma_hat C_T Ln_F_hat;&lt;BR /&gt;number v{k in J} = F_hat;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;proc optmodel;&lt;BR /&gt;set J = 1..60;&lt;BR /&gt;set I = 1..16;&lt;BR /&gt;number T, F_hat, Sigma_hat, C_T, Ln_F_hat;&lt;BR /&gt;read data bard into T F_hat Sigma_hat C_T Ln_F_hat;&lt;BR /&gt;number v0{k in J} = T;&lt;BR /&gt;number v1{k in J} = F_hat;&lt;BR /&gt;number v2{k in I} = Sigma_hat;&lt;BR /&gt;number v3{k in I} = C_T;&lt;BR /&gt;number v4{k in J} = Ln_F_hat;&lt;BR /&gt;var kappa init 0.8541;&lt;BR /&gt;var chi_0 init 1.8373;&lt;BR /&gt;var chi_1 init 2.02;&lt;BR /&gt;var mu_psi init -0.0593;&lt;BR /&gt;var sigma_chi init 0.4069;&lt;BR /&gt;var sigma_psi init 0.00000216;&lt;BR /&gt;var rho_chi_psi init 0.000001;&lt;BR /&gt;var rho init 0.00647;&lt;BR /&gt;var psi init 2.200;&lt;BR /&gt;min f=sum{k in J}&lt;BR /&gt;( psi +EXP(-1*kappa*v0[k])*chi_0 +(1-EXP(-1*kappa*v0[k]))*chi_1+mu_psi*v0[k]+0.5*((1-EXP(-2*kappa*v0[k]))*(sigma_chi^2)/(2*kappa)+(sigma_psi^2)*v0[k]+2*(1-EXP(-1*kappa*v0[k]))*((rho_chi_psi*sigma_psi*sigma_chi)/kappa))-v4[k] )**2;&lt;BR /&gt;con c1: sigma_chi&amp;gt;=0;&lt;BR /&gt;con c2: sigma_psi&amp;gt;=0;&lt;BR /&gt;con c3: -1&amp;lt;=rho_chi_psi&amp;lt;=1;&lt;BR /&gt;SOLVE WITH NLPC;&lt;BR /&gt;print kappa;&lt;BR /&gt;print chi_0 ;&lt;BR /&gt;print chi_1 ;&lt;BR /&gt;print mu_psi;&lt;BR /&gt;print sigma_chi;&lt;BR /&gt;print sigma_psi ;&lt;BR /&gt;print rho_chi_psi;&lt;BR /&gt;print rho ;&lt;BR /&gt;print psi;&lt;BR /&gt;print f;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 17 Jun 2017 17:30:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/notation-of-complex-functions-PROC-OPTMODEL/m-p/367960#M1878</guid>
      <dc:creator>JED</dc:creator>
      <dc:date>2017-06-17T17:30:44Z</dc:date>
    </item>
    <item>
      <title>Re: notation of complex functions PROC OPTMODEL</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/notation-of-complex-functions-PROC-OPTMODEL/m-p/368332#M1882</link>
      <description>&lt;P&gt;Yes, you can use the&amp;nbsp;&lt;A href="http://go.documentation.sas.com/?docsetId=ormpug&amp;amp;docsetVersion=14.2&amp;amp;docsetTarget=ormpug_optmodel_syntax03.htm&amp;amp;locale=en#ormpug.optmodel.npximpvarstmt" target="_self"&gt;IMPVAR statement&lt;/A&gt; to define expressions that you can reference later, including in an objective&amp;nbsp;declaration.&lt;/P&gt;</description>
      <pubDate>Mon, 19 Jun 2017 13:58:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/notation-of-complex-functions-PROC-OPTMODEL/m-p/368332#M1882</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2017-06-19T13:58:11Z</dc:date>
    </item>
  </channel>
</rss>

