나는 8 queens puzzle을보고있다. 나는 아래의 R 코드를 사용했다. R 코드는 R lpsolve 문서에서 직접 구할 수있다. num.bin.solution 매개 변수는 3으로 설정됩니다. R 문서에서 num.bin.solns는 반환되는 솔루션 수의 숫자 표시기를 의미합니다. 이 경우 어떻게 3 가지 가능한 솔루션을 볼 수 있습니까? 나는 chessing $ solution 명령을 사용했으나 결과물을 이해하기 쉽지 않습니다. 또한 모든 가능한 해결책을 찾을 수있는 방법이 있습니까?R Ipsolve 모든 솔루션을 보는 방법
chess.obj <- rep (1, 64)
q8 <- make.q8()
chess.dir <- rep (c("=", "<"), c(16, 26))#first 16 cosntraints are for row and columns, remaining constraints are for diagonals
chess.rhs <- rep (1, 42)
chessing=lp ('max', chess.obj, , chess.dir, chess.rhs, dense.const = q8,
all.bin=TRUE, num.bin.solns=3)
chessing$solution
업데이트 : 내 주요 질문 답변을 얻었다. 그러나 모든 가능한 솔루션을 얻을 수있는 효율적인 방법이 있는지 궁금해하고 있습니다.
가능한 모든 해결책을 얻을 수 있습니다. 64 평방 블록 체스 보드의 경우, 가능한 해결책은 92 가지가 있습니다. 얼마나 많은 솔루션을 사용할 수 있는지 알지 못한다면 가능한 모든 솔루션을 제공하기 위해 어떻게 lpsolve에게 말할 수 있습니까? – user2543622
@ user2543622 나는'num.bin.solns = 1000'을 넘겼고 92 개의 해결책을 찾았다 고 말하면서 돌아왔다. 그래서'num.bin.solns'를 큰 값으로 설정하면됩니다. – josliber
num.bin.solns = 1000으로 실행했지만 메시지를 얻지 못했습니다. ("92 솔루션을 찾았습니다"라는 메시지가 어디서 나왔습니까?) – user2543622