constant lower bound */ upBnd = UB[0][1]; lp = LB[0] + 2; lowBnd = LB[0][1]; for(i = 0; i < NNODE; i++) { RaU = c_o[i] + Amplitude; RaL = c_o[i] - Amplitude; if(RaL < lowBnd) RaL = lowBnd; if(RaU > upBnd) RaU = upBnd; c[i] = RaL + ((RaU - RaL) * rand()) / RAND_MAX; if(i == *lp) { lp++; lowBnd = *lp++; } } break; case 7: /* constant upper bound, distinct lower bound for each node */ upBnd = UB[0][1]; lp = LB[0]; for(i = 0; i < NNODE; i++) { lowBnd = *(++lp); RaU = c_o[i] + Amplitude; RaL = c_o[i] - Amplitude; if(RaL < lowBnd) RaL = lowBnd; if(RaU > upBnd) RaU = upBnd; c[i] = RaL + ((RaU - RaL) * rand()) / RAND_MAX; } break; case 8: /* piece-wise constant upper bound, no lower bound */ up = UB[0] + 2; upBnd = UB[0][1]; for(i = 0; i < NNODE; i++) { RaU = c_o[i] + Amplitude; RaL = c_o[i] - Amplitude; if(RaU > upBnd) RaU = upBnd; c[i] = RaL + ((RaU - RaL) * rand()) / RAND_MAX; if(i == *up) { up++; upBnd = *up++; } } break; case 9: /* piece-wise constant upper bound, constant lower bound */ up = UB[0] + 2; upBnd = UB[0][1]; lowBnd = LB[0][1]; for(i = 0; i < NNODE; i++) { RaU = c_o[i] + Amplitude; RaL = c_o[i] - Amplitude; if(RaL < lowBnd) RaL = lowBnd; if(RaU > upBnd) RaU = upBnd; c[i] = RaL + ((RaU - RaL) * rand()) / RAND_MAX; if(i == *up) { up++; upBnd = *up++; } } break; case 10: /* piece-wise constant upper bound and lower bound */ up = UB[0] + 2; upBnd = UB[0][1]; lp = LB[0] + 2; lowBnd = LB[0][1]; for(i = 0; i < NNODE; i++) { RaU = c_o[i] + Amplitude; RaL = c_o[i] - Amplitude; if(RaL < lowBnd) RaL = lowBnd; if(RaU > upBnd) RaU = upBnd; c[i] = RaL + ((RaU - RaL) * rand()) / RAND_MAX; if(i == *up) { up++; upBnd = *up++; } if(i == *lp) { lp++; lowBnd = *lp++; } } break; case 11: /* piece-wise constant upper bound, distinct lower bounds */ up = UB[0] + 2; upBnd = UB[0][1]; lp = LB[0]; for(i = 0; i < NNODE; i++) { lowBnd = *(++lp); RaU = c_o[i] + Amplitude; RaL = c_o[i] - Amplitude; if(RaL < lowBnd) RaL = lowBnd; if(RaU > upBnd) RaU = upBnd; c[i] = RaL + ((RaU - RaL) * rand()) / RAND_MAX; if(i == *up) { up++; upBnd = *up++; } } break; case 12: /* distinct upper bound for each node, no lower bound */ up = UB[0]; for(i = 0; i < NNODE; i++) { upBnd = *(++up); RaU = c_o[i] + Amplitude; RaL = c_o[i] - Amplitude; if(RaU > upBnd) RaU = upBnd; c[i] = RaL + ((RaU - RaL) * rand()) / RAND_MAX; } break; case 13: /* distinct upper bound for each node, constant lower bound */ up = UB[0]; lowBnd = LB[0][1]; for(i = 0; i < NNODE; i++) { upBnd = *(++up); RaU = c_o[i] + Amplitude; RaL = c_o[i] - Amplitude; if(RaL < lowBnd) RaL = lowBnd; if(RaU > upBnd) RaU = upBnd; c[i] = RaL + ((RaU - RaL) * rand()) / RAND_MAX; } break; case 14: /* distinct upper bounds, piece-wi