如何在CPLEX中处理超出范围的问题
大家好!!下面的问题,需要您的帮助 使用CP int=50 int=7 int nbDays=30 靶场导频=1..n导频 范围天数=1..n天 范围位置=1..n个位置 dvar布尔分配[飞行员][天数][地点] dvar布尔休息[飞行员][天数][地点] 最大限度地分配[i][j][l] 服从{ 对于所有(我在飞行员中,j在天,l在地点)(分配[i][j][l]+分配[i][j+1][l]+分配[i][j+2][l]+分配[i][j+3][l]+分配[i][j+4][l]+分配[i][j+5][l]+分配[i][j+6][l]+剩余[i][j+7][l]+剩余[i][j+8][l]==9);] 我如何处理[j+8]也在几天内的问题 很好如何在CPLEX中处理超出范围的问题,cplex,Cplex,大家好!!下面的问题,需要您的帮助 使用CP int=50 int=7 int nbDays=30 靶场导频=1..n导频 范围天数=1..n天 范围位置=1..n个位置 dvar布尔分配[飞行员][天数][地点] dvar布尔休息[飞行员][天数][地点] 最大限度地分配[i][j][l] 服从{ 对于所有(我在飞行员中,j在天,l在地点)(分配[i][j][l]+分配[i][j+1][l]+分配[i][j+2][l]+分配[i][j+3][l]+分配[i][j+4][l]+分配[i][j+5
using CP;
int nbPilots = 50;
int nbLocations = 7;
int nbDays = 30;
range pilots = 1..nbPilots; range days = 1..nbDays; range locations = 1..nbLocations;
//decision variable/
dvar boolean assign [pilots][days][locations] ; dvar boolean rest [pilots][days][locations];
//objective/
minimize sum(i in pilots, j in days, l in locations)assign[i][j][l];
//constraints/
subject to{
forall(i in pilots, j in days, l in locations:(j+8) in days)
(assign[i][j][l]+assign[i][j+1][l]+assign[i][j+2][l]+assign[i][j+3][l]+
assign[i][j+4][l]+assign[i][j+5][l]+assign[i][j+6][l]+rest[i][j+7][l]+rest[i][j+8][l] == 9);
}