SAS OPTGRAPH的使用贴士

 
PROC OPTGRAPH 
        /*OPTGRAPH STATEMENT*/
    DATA_LINKS=NodeSetIn
        OUT_NODES = NodeSetOut 
    OUT_LINKS = LinkSetOut;
      /*DATA_LINKS_VAR STATEMENT可以省略,因为原数据是用from和to命名的*/
      /*DATA_LINKS_VAR    
        FROM=from
        TO  =to;*/
    PERFORMANCE 
        NTHREADS = 8;
    COMMUNITY
         ALGORITHM=LOUVAIN 
         OUT_COMMUNITY=OUTCOM1;
RUN;

    1. 每个statement以statement的名字为开始,以option为结束。

  2. 美观起见都是以

    STATEMENT_NAME
              OPTION1=....
              OPTION2=....
              ....             
              OPTIONn=....;      

      这样换行的格式,并在option最后以分号;为结束。

  

data CostMatrix; 
input back breast fly free@@; 
    datalines; 
    35.1 36.7 28.3 36.1 
    34.6 32.6 26.9 26.2
    31.3 33.9 27.1 31.2 
    28.6 34.1 29.1 30.3 
    32.9 32.2 26.6 24.0 
    27.8 32.5 27.8 27.0 
    26.3 27.6 23.5 22.4 
    29.0 24.0 27.9 25.4 
    27.2 33.8 25.2 24.1 
    27.0 29.2 23.0 21.9 
    ;
proc optgraph 
    data_matrix = CostMatrix; 
    data_matrix_var
            back--free; 
    linear_assignment 
        out = LinearAssign; 
run;

  3. 这里的linear_assignment其实就是optimization问题的特殊情况。一共是10个任务,4个特工,每个任务只能派一个人,一个人不能执行两个任务,每个任务的分值如表格所示,要求计算哪四个任务以及各分配哪个特工是最优解。

  

猜你喜欢

转载自www.cnblogs.com/danwenxuan/p/10178272.html
SAS