I am attempting to find a good AI solution for a turn based game. The most effective solution I was able to find and implement so far uses an ILP solver. Basically each possible action in each turn amongst the next N ( == some reasonably small number) turns is a Boolean and the goal is to maximize the success (damage caused - damage sustained) which is calculated from the expectancy values of each move used. Like you may imagine we are only checking what happens in the next N turns assuming both parties choose optimal moves. Each selection of moves affects and possibly constraints other possible moves.
The problems I'm concerned with is performance and portability. I am using C++ to prototype and I have access to an ILP solver that works well with it. I don't know if I"ll find one that I can use on a portable device as easily. Also I'm not sure if can always rely on the computation time being reasonable and the N being big enough. I am wondering if anyone used this technique and would advice against it or in favor of it. Also are there any other options that could be used for a similar result? I read about NegaScout but I did not find a book or tutorial that could provide me with a deep understanding of it.
I also read this question which did not help: Implement Negascout Algorithm with stack