The following features have been added to the MODEL procedure:
The OPTIMIZE option has been added to the SOLVE statement to permit the simulation of models that include constraints on the solve variables in the model program’s system of equations. Upper and lower bounds on the solve variables can be imposed by using the BOUNDS statement, and linear or nonlinear constraints on functions of the solve variables can be imposed by using the RESTRICT statement. The OPTIMIZE option limits the solution space for simulations to the feasible region defined by constraints. When no feasible solution exists for a problem, information about how the constraints were violated are included in the OUT= data set if the OUTOBJVALS or OUTVIOLATIONS option is specified. The OPTIMIZE solution method computes constrained solutions by casting the simulation problem into a nonlinear optimization problem then solving the optimization problem.
Diagnostic reports that summarize the occurrence of missing values in both estimation(FIT) and simulation(SOLVE) steps have been added to the MODEL procedure. The new REPORTMISSINGS option generates tables that describe which variables in the model and which observations in the DATA= data set contribute missing values within FIT, or SOLVE calculations. The REPORTMISSINGS option produces output that is easier to interpret when debugging model and data specification problems than the ObsUsed table, which often lacks sufficient detail, or the PUT statement, which can produce too much output. The amount of diagnostic information that the REPORTMISSINGS tables include can be limited by using the MAXERRORS= option. The tables that the REPORTMISSINGS option produces can also attribute missing quantities in the model program to missing values of independent variables in the DATA= data set.
The ANALYZEDEP= option has been added to the MODEL procedure to provide more information on the nature of misspecification errors in simulations. When the system of equations specified in a SOLVE step does not consistently determine the solve variables, the system is partitioned into those equations that overdetermine, underdetermine, and consistently determine the solve variables. The partitioning of equations and solve variables is performed by using a Dulmage-Mendelsohn (Dulmage and Mendelsohn, 1958) decomposition of the system, which is invariant to the order in which equations and variables are specified. You can display the partitioning of the system graphically by using the BLOCK plot option in the ANALYZEDEP= option.
The BLOCK and DETAILS options for visualizing the dependency structure among equations and variables within a model program have been improved. General form equations can now be analyzed and incorporated in the dependency analysis. Also, you can produce a graphical representation of the dependence of equations on solve variables by using the DETAILS option in the ANALYZEDEP= option. The new dependency plot can display the relationship among many more equations and variables than was previously possible by using the DepStructure table. You can also customize the dependency plot to depict a subset of the equations and variables in the model by using the new EQGROUP and VARGROUP statements.
Three new copula options have been added to the MODEL procedure. Monte Carlo simulations can now use the CLAYTON, GUMBEL, and FRANK Archimedean copulas to specify the correlation structure among model equations in multivariate simulations.