I was doing an environmental scan of mathematical programming languages that support a "modeler's form". This seems like a well recognized term coined by creators of AMPL, meaning that the data structures/objects are organized and named in a way that recognizably reflects the context of the problem domain. For SAS, I started in what I now think is in a tangential area, CASL, and found my way to SAS/OR, specifically OPTMODEL. However, I'm having trouble with the terminology used. OPTMODEL is referred to as a "procedure", with one way of designating it is "PROC OPTMODEL" [1,2]. But it is described as a modelling language plus solvers. Procedures are normally a component of languages rather than the other way around. I found my way to the example code at pages [3,4]. If these are in fact examples of the modelling language associated with OPTMODEL, then it overlaps a lot with AMPL, which would make sense since they both model mathematical programming. Why is OPTMODEL referred to as a "procedure"? It seems like an model interpreter. By "procedure", does SAS mean "workflow" or "process"? P.S. I also found this explanation of SAS procedures: https://support.sas.com/learn/le/proc/index.html. It refers to "procedure statements" as a "PROC step". It doesn't really clea things up. [1] https://support.sas.com/rnd/app/or/MP.html [2] https://support.sas.com/rnd/app/or/procedures/optmodel.html [3] http://documentation.sas.com/?cdcId=pgmsascdc&cdcVersion=9.4_3.4&docsetId=ormpex&docsetTarget=ormpex_ex1_sect009.htm [4] http://documentation.sas.com/?cdcId=pgmsascdc&cdcVersion=9.4_3.4&docsetId=ormpex&docsetTarget=ormpex_code_mpex01.htm
... View more