Solve a Linear Assignment Problem With Proc Optnet in SAS

Solve a Linear Assignment Problem With Proc Optnet in SAS

The Linear Assignment problem is a classic problem within optimization and operations research. Simply put, we have a set of workers S and a set of tasks T. Any worker can be assigned to any task, incurring some cost c. This problem forms a bipartite graph where all...
A Seven of Nine Fuzzy Matching Problem

A Seven of Nine Fuzzy Matching Problem

In the last few posts, I write about Fuzzy Grouping, Fuzzy Merging and approaches to closest-value matching in Part 1 and Part 2. In them, we learn that the SAS hash object can be of help when we deal with fuzzy logic. And often it outperforms other common techniques...
Closest Value Match in SAS Using the Hash Object – Part 2

Closest Value Match in SAS Using the Hash Object – Part 2

Last week, I blogged about a Nearest Neighbor Match in SAS. We demonstrated that we can use the Setcur Method to perform very fast lookups based on the closest value of a key. Furthermore, we saw that this approach vastly outperforms the approach in presented in the...
Nearest Neighbor Match in SAS – Part 1

Nearest Neighbor Match in SAS – Part 1

Last week, I blogged about Fuzzy Merging in SAS Using the Hash Object. I demonstrated a general method to perform fuzzy matching using the hash object. However, suppose we deal with numerical keys. Say we want to match to the closest value of some key in another data...
Fuzzy Merge in SAS with the Hash Object

Fuzzy Merge in SAS with the Hash Object

There are several ways to combine data in SAS. However, when the keys are not exactly equal, things get more complicated. This is called a fuzzy merge/join. Today, I will demonstrate how to use the hash object to perform fuzzy merges in SAS. Obviously, the word...
Create Moving Average with the SAS Hash Object

Create Moving Average with the SAS Hash Object

There are many ways to create moving averages in SAS. In previous posts, I write about Proc Expand, Proc SQL and Temporary Array approaches. In this post, I will demonstrate how to do so with the hash object. I use the following example data in the examples. data...