Finally, I've got some clue... When I set the bound of variables as 0 <= x <= 1, I couldn't get any positive dual values. I changed the bound as x >=0 And I got the positive dual values. Could anyone explain why this happens? Peter.