/***************************************************************************************************************** SAS file name: linear_assignment.sas File location: __________________________________________________________________________________________________________________ Purpose: To demonstrate how to solve linear assignment problems in SAS using Proc Optnet. Author: Peter Clemmensen Creation Date: 07/01/2021 This program supports the blog post "Solve a Linear Assignment Problem With Proc Optnet in SAS" on SASnrd.com *****************************************************************************************************************/ /* Example data */ data have; input from $ to $ weight; datalines; s1 t1 30 s1 t2 20 s1 t3 10 s2 t1 15 s2 t2 13 s2 t3 60 s3 t1 20 s3 t2 8 s3 t3 15 ; /* Solve the linear assignment problem */ proc optnet data_links=have direction=directed; linear_assignment out=want; run; /* A larger problem */ data have; do from = 1 to 100; do to = 101 to 200; weight = rand('integer', 1, 10000); output; end; end; run; proc optnet data_links=have direction=directed; linear_assignment out=want; run;