10-24-2016 10:35 AM
first of all, I am quite new to optimization problems and their programming, so I apologize for any possible lack of clarity.
I would like to calculate coeffincients x(i)'s, as much as possibe close to d(i)'s, such that a weighted sum of x(i) is equal to a known value.
s.t. y(i)x(i) >=0
where f(.) would be a distance function summarizing the distances between x(i) and d(i), e.g a quadratic function (suggestions are welcome).
y(i),Y,,c,z(i),d(i) are known values
In other terms it is a calibration problem with the addition of inequality constraints.
These values are stored in a sas dataset, and i would like the procedure to add the x(i)'s to the dataset.
A second issue is to repeat the algorithm for a number of groups. So a solution with a by processing would be much appreciated.
a group may have up to 200000 observations.
I can use SAS-OR or sas IML. I would prefer the first choice in order to learn a new tool.
thank you very much in advance
10-24-2016 11:17 AM
Yes, your constrained regression problem sounds like a good fit for SAS/OR. You can use the OPTMODEL procedure to model and solve the problem:
To solve separate groups independently, see this Usage Note, which has a quadratic objective and uses the QP solver:
In SAS/OR 13.1 or later, you can even solve these independent problems in parallel by using a COFOR loop:
This example illustrates changing a DO loop to a COFOR loop: