Consider the following integer-linear program which is used to decide which warehouses to open from a set of n potential warehouses, and how to assign m retail stores to the opened warehouses (for receiving supplies). Note that each retail store must be assigned to exactly one warehouse. Each warehouse can serve all the retail stores. Associated with each assignment is a transportation costcij,i=1,,n,j=1,,m, and associated with opening each warehouse is a fixed cost fi,i=1,,n. We seck to minimize the total cost. This is known as a location-allocation model. Let xij={1,0,ifstorejisassignedtowarehousei,o/w, and yi={1,0,ifwarehouseiisopened,o/w Then, the location-allocation model is: mins.t.z=i=1nj=1mcijxij+i=1nfiyii=1nxij=1,j=1mxijmyixij{0,1},i=1,,n,j=1,,m,n,yi{0,1},i=1,,n.j=1,,m, Assume that n=4,m=5, and that the fixed cost for opening a warehouse is $20,000 for each of four warehouses. The transportation costs for all pairs of warehouses and stores (in thousands) are provided in the table below: 1. For the solution [1,0,0,1] which represents that warehouses 1 and 4 are open, compute the total cost, z(x,y) and describe how you did so. Note that the notation for solutions that we will use uses a 1 to indicate that the corresponding warehouse is open and 0 otherwise. 2. Run Tabu Search for five iterations with tenure period =2, and starting with the solution [1,0,0,1]. A neighborhood here is defined as a solution in which the status of only one warehouse is flipped, i.e., you can flip one warehouse from being open to being closed or vice versa to generate a neighbor (except if that warehouse is on the Tabu list). If a warehouse is flipped from open to closed or vice versa, that warehouse (not the entire solution) should then go on the Tabu list. Use random-walk selection for neighbors. For this part, use the random numbers from seed (1.1), and use them in this order! Show detailed work for every iteration, then at the end of the algorithm, report the best solution found. 3. Run Simulated Annealing for five iterations. Set T0:=0.25F([1,0,0,1]T) and ri=0.25,i 1 (i.e., Tk:=0.25Tk1k1 ), and t=2 (i.e., reduce the temperature after every two accepts) starting from [1,0,0,1]. Use the same neighborhood definition as above, and greedy selection for the neighbors. Show detailed work for every iteration, then at the end of the algorithm, report the best solution found. For this part, use the random numbers from seed (1,1) for accept/reject decisions (use them in this order!). Use the first number in this list for the first comparison you have with eTk (regardless of what iteration it happens to be), i.e., if the first comparison you do is in iteration 5 , then you should use the first random number in this list