利用PROC CLP求解数独问题.
Translated From SAS HELP........
CLP过程简介:
解决CSP(约束满足问题),即
由一个变量集合和一个约束集合组成。问题的一个状态是由对一些或全部变量的一个赋值定义的完全赋值:每个变量都参与的赋值。问题的解是满足所有约束的完全赋值,或更进一步,使目标函数最大化。
var 语句:声明变量的定义域:例如:variable <=[lower-bound <, upper-bound>]>
alldiff语句:互不相等条件,约束输入变量必须为互不相等的变量
如:var (X1-X3) A B; alldiff (X1-X3) (A B); 等价于:X1 ne X2,X2 ne X3 ,X3 ne X1 and A ne B
lincon语句:线性约束,例如:lincon 4 * x1 - 3 * x2 = 5;
有如下数独问题(以下代码需在SAS9.3版本或以上方可运行成功)
1.输入数独矩阵:
2.将数独矩阵赋值给宏变量C_1_1至C_9_9
3.利用CLP过程求解数独问题
4.输出结果work.outdata
本帖曾在论坛引起争议,自知理亏,不辩解。日后SASHELP的东西也注明出处。。