八皇后问题1stopt程序
下面是求解八皇后问题的1stopt程序,程序运行时没有错误提示,好象就一直在那里执行,也没有结果
请高人帮忙看看
Title "Type your title here";
constant N = 5;
Variable position(1:N),y;
Variable f(0:N-1,0:N-1);
StartProgram;
var
i,j,position: integer;
begin
for i := 0 to N-1 do begin
for j := 0 to N-1 do begin
if abs(position-positon) == abs(i-j) ||position == positon
f := 1;
else
f := 0;
end;
end;
end;
EndProgram;
minfunction y = sum(i=0:N-1)(j=0:N-1)(f);
谢谢
[ 本帖最后由 suffer 于 2007-7-20 05:39 编辑 ] 谢谢 对不起
if abs(position-positon) == abs(i-j) ||position == positon
应该是
if abs(position-positon) == abs(i-j) ||position == positon
[ 本帖最后由 suffer 于 2007-7-20 05:39 编辑 ] 解决了吗? 没有 看起来没多大希望了 听别人推荐说这软件非常优秀 优化算法很好 没想到解决个八皇后问题 这么麻烦 大概是因为 我不会用吧 语法错误不少。看下面改正后的代码。计算的目标函数等于皇后数N。(绿色版好像无法执行编程模式)
Title "Type your title here";
constant N = 8; //皇后数目,可改动
IntParameter position(0:N-1);
Exclusive = True;
Minimum;
StartProgram;
var i, j, d: integer;
begin
d := 0;
for i := 0 to N-1 do begin
for j := i to N-1 do
if (abs(position-position) = abs(i-j))or(position = position) then
inc(d);
end;
FunctionResult := d;
end;
EndProgram; 谢谢 请问有无好的1stopt 教程 我想学习这个软件
软件中自带的手册讲的不太详细 我发现很多关键字我都不认识 原帖由 sunbo 于 2007-7-20 10:34 发表 http://www.chinavib.com/forum/images/common/back.gif
谢谢 请问有无好的1stopt 教程 我想学习这个软件
软件中自带的手册讲的不太详细 我发现很多关键字我都不认识
没见过 1.5版破解版网上就有,一搜就着。另外,1stopt的用户手册的确太简单了。dingd是这方面的高手,也是这个软件的推手,不知道dingd能否现身释疑?
页:
[1]