Global Operation Management - Transportation

Introduction Image
Truck Transportation - Allocation Problem Watch Tutorial
Layout Orientation
def calculate_profit(numTrucks, PrA_0, PrA_1, PrA_2, PrA_3, PrA_4, PrA_5, PrA_6, PrA_7, PrA_8, PrA_9, PrA_10, P_A, PrB_0, PrB_1, PrB_2, PrB_3, PrB_4, PrB_5, PrB_6, PrB_7, PrB_8, PrB_9, PrB_10, P_B): """ Calculate the profit generated by trucks dispatched to location A. Parameters: numTrucks (int): Total number of trucks. PrA_0 (float): Probability(n = 0) for a truck going to location A. PrA_1 (float): Probability(n = 1) for a truck going to location A. PrA_2 (float): Probability(n = 2) for a truck going to location A. PrA_3 (float): Probability(n = 3) for a truck going to location A. PrA_4 (float): Probability(n = 4) for a truck going to location A. PrA_5 (float): Probability(n = 5) for a truck going to location A. PrA_6 (float): Probability(n = 6) for a truck going to location A. PrA_7 (float): Probability(n = 7) for a truck going to location A. PrA_8 (float): Probability(n = 8) for a truck going to location A. PrA_9 (float): Probability(n = 9) for a truck going to location A. PrA_10 (float): Probability(n = 10) for a truck going to location A. P_A (int): Profit generated by each truck going to location A. PrB_0 (float): Probability(n = 0) for a truck going to location B. PrB_1 (float): Probability(n = 1) for a truck going to location B. PrB_2 (float): Probability(n = 2) for a truck going to location B. PrB_3 (float): Probability(n = 3) for a truck going to location B. PrB_4 (float): Probability(n = 4) for a truck going to location B. PrB_5 (float): Probability(n = 5) for a truck going to location B. PrB_6 (float): Probability(n = 6) for a truck going to location B. PrB_7 (float): Probability(n = 7) for a truck going to location B. PrB_8 (float): Probability(n = 8) for a truck going to location B. PrB_9 (float): Probability(n = 9) for a truck going to location B. PrB_10 (float): Probability(n = 10) for a truck going to location B. P_B (int): Profit generated by each truck going to location B. Returns: float: the profit generated by 0 trucks to A and 4 trucks to B. """ # Profit for 0 trucks to A and 4 trucks to B probability_0_A_10_B = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5 - PrB_6) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5 - PrB_6 - PrB_7) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5 - PrB_6 - PrB_7 - PrB_8) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5 - PrB_6 - PrB_7 - PrB_8 - PrB_9) probability_1_A_9_B = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5 - PrB_6) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5 - PrB_6 - PrB_7) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5 - PrB_6 - PrB_7 - PrB_8) probability_2_A_8_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) probability_2_A_8_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5 - PrB_6) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5 - PrB_6 - PrB_7) probability_3_A_7_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) probability_3_A_7_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5 - PrB_6) probability_4_A_6_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) probability_4_A_6_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5) probability_5_A_5_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4) probability_5_A_5_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4) probability_6_A_4_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5) probability_6_A_4_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) probability_7_A_3_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5 - PrA_6) probability_7_A_3_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) probability_8_A_2_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5 - PrA_6) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5 - PrA_6 - PrA_7) probability_8_A_2_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) probability_9_A_1_B = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5 - PrA_6) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5 - PrA_6 - PrA_7) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5 - PrA_6 - PrA_7 - PrA_8) probability_10_A_0_B = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5 - PrA_6) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5 - PrA_6 - PrA_7) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5 - PrA_6 - PrA_7 - PrA_8) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5 - PrA_6 - PrA_7 - PrA_8 - PrA_9) profit_0_A_10_B = P_B * probability_0_A_10_B globals()['profit_0_A_10_B'] = profit_0_A_10_B profit_1_A_9_B = P_A * (1 - PrA_0) + P_B * probability_1_A_9_B globals()['profit_1_A_9_B'] = profit_1_A_9_B profit_2_A_8_B = P_A * probability_2_A_8_B_1 + P_B * probability_2_A_8_B_2 globals()['profit_2_A_8_B'] = profit_2_A_8_B profit_3_A_7_B = P_A * probability_3_A_7_B_1 + P_B * probability_3_A_7_B_2 globals()['profit_3_A_7_B'] = profit_3_A_7_B profit_4_A_6_B = P_A * probability_4_A_6_B_1 + P_B * probability_4_A_6_B_2 globals()['profit_4_A_6_B'] = profit_4_A_6_B profit_5_A_5_B = P_A * probability_5_A_5_B_1 + P_B * probability_5_A_5_B_2 globals()['profit_5_A_5_B'] = profit_5_A_5_B profit_6_A_4_B = P_A * probability_6_A_4_B_1 + P_B * probability_6_A_4_B_2 globals()['profit_6_A_4_B'] = profit_6_A_4_B profit_7_A_3_B = P_A * probability_7_A_3_B_1 + P_B * probability_7_A_3_B_2 globals()['profit_7_A_3_B'] = profit_7_A_3_B profit_8_A_2_B = P_A * probability_8_A_2_B_1 + P_B * probability_8_A_2_B_2 globals()['profit_8_A_2_B'] = profit_8_A_2_B profit_9_A_1_B = P_A * probability_9_A_1_B + P_B * (1 - PrB_0) globals()['profit_9_A_1_B'] = profit_9_A_1_B profit_10_A_0_B = P_A * probability_10_A_0_B globals()['profit_10_A_0_B'] = profit_10_A_0_B if numTrucks == 9: probability_0_A_10_B = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5 - PrB_6) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5 - PrB_6 - PrB_7) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5 - PrB_6 - PrB_7 - PrB_8) probability_1_A_9_B = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5 - PrB_6) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5 - PrB_6 - PrB_7) probability_2_A_8_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) probability_2_A_8_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5 - PrB_6) probability_3_A_7_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) probability_3_A_7_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5) probability_4_A_6_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) probability_4_A_6_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4) probability_5_A_5_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4) probability_5_A_5_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) probability_6_A_4_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5) probability_6_A_4_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) probability_7_A_3_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5 - PrA_6) probability_7_A_3_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) probability_8_A_2_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5 - PrA_6) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5 - PrA_6 - PrA_7) probability_8_A_2_B_2 = 1 - PrB_0 probability_9_A_1_B = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5 - PrA_6) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5 - PrA_6 - PrA_7) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5 - PrA_6 - PrA_7 - PrA_8) profit_0_A_10_B = P_B * probability_0_A_10_B profit_1_A_9_B = P_A * (1 - PrA_0) + P_B * probability_1_A_9_B profit_2_A_8_B = P_A * probability_2_A_8_B_1 + P_B * probability_2_A_8_B_2 profit_3_A_7_B = P_A * probability_3_A_7_B_1 + P_B * probability_3_A_7_B_2 profit_4_A_6_B = P_A * probability_4_A_6_B_1 + P_B * probability_4_A_6_B_2 profit_5_A_5_B = P_A * probability_5_A_5_B_1 + P_B * probability_5_A_5_B_2 profit_6_A_4_B = P_A * probability_6_A_4_B_1 + P_B * probability_6_A_4_B_2 profit_7_A_3_B = P_A * probability_7_A_3_B_1 + P_B * probability_7_A_3_B_2 profit_8_A_2_B = P_A * probability_8_A_2_B_1 + P_B * probability_8_A_2_B_2 profit_9_A_1_B = P_A * probability_9_A_1_B profit_10_A_0_B = 0 if numTrucks == 8: probability_0_A_10_B = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5 - PrB_6) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5 - PrB_6 - PrB_7) probability_1_A_9_B = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5 - PrB_6) probability_2_A_8_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) probability_2_A_8_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5) probability_3_A_7_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) probability_3_A_7_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4) probability_4_A_6_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) probability_4_A_6_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) probability_5_A_5_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4) probability_5_A_5_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) probability_6_A_4_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5) probability_6_A_4_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) probability_7_A_3_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5 - PrA_6) probability_7_A_3_B_2 = 1 - PrB_0 probability_8_A_2_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5 - PrA_6) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5 - PrA_6 - PrA_7) profit_0_A_10_B = P_B * probability_0_A_10_B profit_1_A_9_B = P_A * (1 - PrA_0) + P_B * probability_1_A_9_B profit_2_A_8_B = P_A * probability_2_A_8_B_1 + P_B * probability_2_A_8_B_2 profit_3_A_7_B = P_A * probability_3_A_7_B_1 + P_B * probability_3_A_7_B_2 profit_4_A_6_B = P_A * probability_4_A_6_B_1 + P_B * probability_4_A_6_B_2 profit_5_A_5_B = P_A * probability_5_A_5_B_1 + P_B * probability_5_A_5_B_2 profit_6_A_4_B = P_A * probability_6_A_4_B_1 + P_B * probability_6_A_4_B_2 profit_7_A_3_B = P_A * probability_7_A_3_B_1 + P_B * probability_7_A_3_B_2 profit_8_A_2_B = P_A * probability_8_A_2_B_1 profit_9_A_1_B = 0 profit_10_A_0_B = 0 if numTrucks == 7: probability_0_A_10_B = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5 - PrB_6) probability_1_A_9_B = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5) probability_2_A_8_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) probability_2_A_8_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4) probability_3_A_7_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) probability_3_A_7_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) probability_4_A_6_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) probability_4_A_6_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) probability_5_A_5_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4) probability_5_A_5_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) probability_6_A_4_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5) probability_6_A_4_B_2 = 1 - PrB_0 probability_7_A_3_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5 - PrA_6) profit_0_A_10_B = P_B * probability_0_A_10_B profit_1_A_9_B = P_A * (1 - PrA_0) + P_B * probability_1_A_9_B profit_2_A_8_B = P_A * probability_2_A_8_B_1 + P_B * probability_2_A_8_B_2 profit_3_A_7_B = P_A * probability_3_A_7_B_1 + P_B * probability_3_A_7_B_2 profit_4_A_6_B = P_A * probability_4_A_6_B_1 + P_B * probability_4_A_6_B_2 profit_5_A_5_B = P_A * probability_5_A_5_B_1 + P_B * probability_5_A_5_B_2 profit_6_A_4_B = P_A * probability_6_A_4_B_1 + P_B * probability_6_A_4_B_2 profit_7_A_3_B = P_A * probability_7_A_3_B_1 profit_8_A_2_B = 0 profit_9_A_1_B = 0 profit_10_A_0_B = 0 if numTrucks == 6: probability_0_A_10_B = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4 - PrB_5) probability_1_A_9_B = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4) probability_2_A_8_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) probability_2_A_8_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) probability_3_A_7_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) probability_3_A_7_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) probability_4_A_6_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) probability_4_A_6_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) probability_5_A_5_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4) probability_5_A_5_B_2 = 1 - PrB_0 probability_6_A_4_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4 - PrA_5) profit_0_A_10_B = P_B * probability_0_A_10_B profit_1_A_9_B = P_A * (1 - PrA_0) + P_B * probability_1_A_9_B profit_2_A_8_B = P_A * probability_2_A_8_B_1 + P_B * probability_2_A_8_B_2 profit_3_A_7_B = P_A * probability_3_A_7_B_1 + P_B * probability_3_A_7_B_2 profit_4_A_6_B = P_A * probability_4_A_6_B_1 + P_B * probability_4_A_6_B_2 profit_5_A_5_B = P_A * probability_5_A_5_B_1 + P_B * probability_5_A_5_B_2 profit_6_A_4_B = P_A * probability_6_A_4_B_1 profit_7_A_3_B = 0 profit_8_A_2_B = 0 profit_9_A_1_B = 0 profit_10_A_0_B = 0 if numTrucks == 5: probability_0_A_10_B = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3 - PrB_4) probability_1_A_9_B = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) probability_2_A_8_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) probability_2_A_8_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) probability_3_A_7_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) probability_3_A_7_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) probability_4_A_6_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) probability_4_A_6_B_2 = 1 - PrB_0 probability_5_A_5_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3 - PrA_4) profit_0_A_10_B = P_B * probability_0_A_10_B profit_1_A_9_B = P_A * (1 - PrA_0) + P_B * probability_1_A_9_B profit_2_A_8_B = P_A * probability_2_A_8_B_1 + P_B * probability_2_A_8_B_2 profit_3_A_7_B = P_A * probability_3_A_7_B_1 + P_B * probability_3_A_7_B_2 profit_4_A_6_B = P_A * probability_4_A_6_B_1 + P_B * probability_4_A_6_B_2 profit_5_A_5_B = P_A * probability_5_A_5_B_1 profit_6_A_4_B = 0 profit_7_A_3_B = 0 profit_8_A_2_B = 0 profit_9_A_1_B = 0 profit_10_A_0_B = 0 if numTrucks == 4: probability_0_A_10_B = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) + (1 - PrB_0 - PrB_1 - PrB_2 - PrB_3) probability_1_A_9_B = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) probability_2_A_8_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) probability_2_A_8_B_2 = (1 - PrB_0) + (1 - PrB_0 - PrB_1) probability_3_A_7_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) probability_3_A_7_B_2 = 1 - PrB_0 probability_4_A_6_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) + (1 - PrA_0 - PrA_1 - PrA_2 - PrA_3) profit_0_A_10_B = P_B * probability_0_A_10_B profit_1_A_9_B = P_A * (1 - PrA_0) + P_B * probability_1_A_9_B profit_2_A_8_B = P_A * probability_2_A_8_B_1 + P_B * probability_2_A_8_B_2 profit_3_A_7_B = P_A * probability_3_A_7_B_1 + P_B * probability_3_A_7_B_2 profit_4_A_6_B = P_A * probability_4_A_6_B_1 profit_5_A_5_B = 0 profit_6_A_4_B = 0 profit_7_A_3_B = 0 profit_8_A_2_B = 0 profit_9_A_1_B = 0 profit_10_A_0_B = 0 if numTrucks == 3: probability_0_A_10_B = (1 - PrB_0) + (1 - PrB_0 - PrB_1) + (1 - PrB_0 - PrB_1 - PrB_2) probability_1_A_9_B = (1 - PrB_0) + (1 - PrB_0 - PrB_1) probability_2_A_8_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) probability_2_A_8_B_2 = 1 - PrB_0 probability_3_A_7_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) + (1 - PrA_0 - PrA_1 - PrA_2) profit_0_A_10_B = P_B * probability_0_A_10_B profit_1_A_9_B = P_A * (1 - PrA_0) + P_B * probability_1_A_9_B profit_2_A_8_B = P_A * probability_2_A_8_B_1 + P_B * probability_2_A_8_B_2 profit_3_A_7_B = P_A * probability_3_A_7_B_1 profit_4_A_6_B = 0 profit_5_A_5_B = 0 profit_6_A_4_B = 0 profit_7_A_3_B = 0 profit_8_A_2_B = 0 profit_9_A_1_B = 0 profit_10_A_0_B = 0 if numTrucks == 2: probability_0_A_10_B = (1 - PrB_0) + (1 - PrB_0 - PrB_1) probability_1_A_9_B = (1 - PrB_0) probability_2_A_8_B_1 = (1 - PrA_0) + (1 - PrA_0 - PrA_1) profit_0_A_10_B = P_B * probability_0_A_10_B profit_1_A_9_B = P_A * (1 - PrA_0) + P_B * probability_1_A_9_B profit_2_A_8_B = P_A * probability_2_A_8_B_1 profit_3_A_7_B = 0 profit_4_A_6_B = 0 profit_5_A_5_B = 0 profit_6_A_4_B = 0 profit_7_A_3_B = 0 profit_8_A_2_B = 0 profit_9_A_1_B = 0 profit_10_A_0_B = 0 if numTrucks == 1: probability_0_A_10_B = 1 - PrB_0 profit_0_A_10_B = P_B * probability_0_A_10_B profit_1_A_9_B = P_A * (1 - PrA_0) profit_2_A_8_B = 0 profit_3_A_7_B = 0 profit_4_A_6_B = 0 profit_5_A_5_B = 0 profit_6_A_4_B = 0 profit_7_A_3_B = 0 profit_8_A_2_B = 0 profit_9_A_1_B = 0 profit_10_A_0_B = 0 profits = [profit_0_A_10_B, profit_1_A_9_B, profit_2_A_8_B, profit_3_A_7_B, profit_4_A_6_B, profit_5_A_5_B, profit_6_A_4_B, profit_7_A_3_B, profit_8_A_2_B, profit_9_A_1_B, profit_10_A_0_B] profit = max(profits) return profit, profits def calculate_best(profits, numTrucks): """ Find the allocation (trucks to A, trucks to B) that gives the maximum profit. """ best_a = profits.index(max(profits)) best_b = numTrucks - best_a return best_a, best_b def on_TT(event): numTrucks = int(float(Element("numTrucks").element.value)) PrA_0 = float(Element("PrA_0").element.value) PrA_1 = float(Element("PrA_1").element.value) PrA_2 = float(Element("PrA_2").element.value) PrA_3 = float(Element("PrA_3").element.value) PrA_4 = float(Element("PrA_4").element.value) PrA_5 = float(Element("PrA_5").element.value) PrA_6 = float(Element("PrA_6").element.value) PrA_7 = float(Element("PrA_7").element.value) PrA_8 = float(Element("PrA_8").element.value) PrA_9 = float(Element("PrA_9").element.value) PrA_10 = float(Element("PrA_10").element.value) P_A = float(Element("P_A").element.value) PrB_0 = float(Element("PrB_0").element.value) PrB_1 = float(Element("PrB_1").element.value) PrB_2 = float(Element("PrB_2").element.value) PrB_3 = float(Element("PrB_3").element.value) PrB_4 = float(Element("PrB_4").element.value) PrB_5 = float(Element("PrB_5").element.value) PrB_6 = float(Element("PrB_6").element.value) PrB_7 = float(Element("PrB_7").element.value) PrB_8 = float(Element("PrB_8").element.value) PrB_9 = float(Element("PrB_9").element.value) PrB_10 = float(Element("PrB_10").element.value) P_B = float(Element("P_B").element.value) # Calculate profit A profit, profits = calculate_profit(numTrucks, PrA_0, PrA_1, PrA_2, PrA_3, PrA_4, PrA_5, PrA_6, PrA_7, PrA_8, PrA_9, PrA_10, P_A, PrB_0, PrB_1, PrB_2, PrB_3, PrB_4, PrB_5, PrB_6, PrB_7, PrB_8, PrB_9, PrB_10, P_B) best_a, best_b = calculate_best(profits, numTrucks) result = f"Maximum profit generated: {profit}. " result += f"Number of Vehicle Allocation: {best_a} trucks to location A and {best_b} trucks to location B" Element("out_TT").element.innerHTML = result Element("button_TT").element.onclick = on_TT
OUTPUT
Inventory Plot