val = exp_time_data[experiment][data_type]
        if val != None:
            new_data_type = 0
            if val <= 30:
                all_adjusted_val = range(start, end_1, interval)#int(val)*2 + 1, interval)
            else:
                all_adjusted_val = range(start, end_2, 10)#int(val)*2 + 1, 10)
            
            all_obj_val = []
            for i in all_adjusted_val:
                exp_time_data[experiment][data_type] = i
                
                print '***********************************'
                print 'Experiment %s, Data Type %s, Value %s'%(experiment, data_type, i)
                [obj_val, status] = solve_milp(p, mm_lambda_1, mm_lambda_2, exp_time_data, experiments)
                
                if status == 1:
                    all_obj_val.append(obj_val)
                else:
                    all_obj_val.append(0.0)
				
            all_obj_val_per_exp.append(all_obj_val)
            all_adj_val_per_exp.append(all_adjusted_val)
            prev_exp = experiment
            prev_val = val
        else:
            all_obj_val_per_exp.append(None)
            all_adj_val_per_exp.append(None)
        
    all_obj_val_per_data_type.append(all_obj_val_per_exp)
all_obj_val_per_stu = []

for student in range(4):
    p = p_reset
    p_current = p[student]
    #     all_p_adjusted = linspace(0, p_current + dev_range, no_pnts)
    all_p_adjusted = range(
        0, p_current + increase,
        10)  #DO NOT go under 2 for last value, program crashes??
    all_p_adjust_per_stu.append(all_p_adjusted)
    all_obj_val = []
    for n, i in enumerate(all_p_adjusted):
        p[student] = i
        print '***********************************'
        print 'Student %s Time Limit %s' % (student + 1, i)
        [obj_val, status] = solve_milp(p, mm_lambda_1, mm_lambda_2)

        if status == 1:
            all_obj_val.append(obj_val)
        else:
            all_obj_val.append(0.0)

    all_obj_val_per_stu.append(all_obj_val)

# In[9]:

for student in range(4):
    plot(all_p_adjust_per_stu[student],
         all_obj_val_per_stu[student],
         '.',
         label='Student %s' % (student + 1))
#all_obj_val = zeros([size(p), no_pnts])
all_p_adjust_per_stu = []
all_obj_val_per_stu = []

for student in range(4):
    p = p_reset
    p_current = p[student]
#     all_p_adjusted = linspace(0, p_current + dev_range, no_pnts)
    all_p_adjusted = range(0, p_current + increase, 10) #DO NOT go under 2 for last value, program crashes??
    all_p_adjust_per_stu.append(all_p_adjusted)
    all_obj_val = []
    for n, i in enumerate(all_p_adjusted):
        p[student] = i
        print '***********************************'
        print 'Student %s Time Limit %s'%(student + 1, i)
        [obj_val, status] = solve_milp(p, mm_lambda_1, mm_lambda_2)

        if status == 1:
            all_obj_val.append(obj_val)
        else:
            all_obj_val.append(0.0)
            
    all_obj_val_per_stu.append(all_obj_val)


# In[9]:

for student in range(4):
    plot(all_p_adjust_per_stu[student], all_obj_val_per_stu[student], '.', label='Student %s'%(student + 1))

legend(loc='lower right')