Linear Assignment Problem, Sparse Format versus
/***************************************************************/
/* */
/* S A S S A M P L E L I B R A R Y */
/* */
/* NAME: onete04 */
/* TITLE: Linear Assignment Problem, Sparse Format versus */
/* Dense Format */
/* PRODUCT: OR */
/* SYSTEM: ALL */
/* KEYS: OR */
/* PROCS: OPTNET, PRINT */
/* DATA: */
/* */
/* SUPPORT: UPDATE: */
/* REF: */
/* MISC: Example 4 from the OPTNET documentation. */
/* */
/***************************************************************/
data RelayTimesMatrix;
input name $ sex $ back breast fly free;
datalines;
Sue F . 36.7 28.3 36.1
Karen F 34.6 . . 26.2
Jan F 31.3 . 27.1 .
Andrea F 28.6 . 29.1 .
Carol F 32.9 . 26.6 .
;
data RelayTimesLinks;
input name $ attr $ cost;
datalines;
Sue breast 36.7
Sue fly 28.3
Sue free 36.1
Karen back 34.6
Karen free 26.2
Jan back 31.3
Jan fly 27.1
Andrea back 28.6
Andrea fly 29.1
Carol back 32.9
Carol fly 26.6
;
proc optnet
data_matrix = RelayTimesMatrix;
linear_assignment
out = LinearAssignMatrix
weight = (back--free)
id = (name sex);
run;
proc optnet
graph_direction = directed
data_links = RelayTimesLinks;
data_links_var
from = name
to = attr
weight = cost;
linear_assignment
out = LinearAssignLinks;
run;
proc print data=LinearAssignMatrix noobs label;
sum cost;
run;
proc print data=LinearAssignLinks noobs label;
sum cost;
run;