Research Article

Production Scheduling and Customer Orders Assignment in a Three-Level Supply Chain

Algorithm 3

The steps of verifying number of orders assigned to a plant.
Step  1. set as the current solution and go to Step  2.
Step  2. generate a random number between 1 and number of DCs and put it in rand(1) and go to Step  3.
Step  3. set as the customer number and put and go to Step  4.
Step  4. if ( < number of customers), go to Step  5; else go to Step  2.
Step  5. set as plant number and put and set as the number of product of plant that is part of customer demands
which is assigned to .
Step  6. set as plant number and put and set as the number of product of plant that is part of customer demands
which is assigned to .
Step  7. if ( ), put and go to Step 8; else go to Step  8.
Step  8. generate a random number between 0 and 1 and put it in rand(2) and go to Step  9.
Step  9. set = and go to Step  10.
Step  10. replace with and with and set the test solution as a new solution and go to Step  11.
Step  11. set and as the objective value of solution and solution respectively and go to Step  12.
Step  12. if set and put and go to Step  4; else go to Step  13.
Step  13. if ( < number of plants), put and go to Step  7; else go to Step  14.
Step  14. if ( < number of plants), put and and go to Step  9; else go to Step  15.
Step  15. if (rand(2) > 0), put rand(2) = rand(2)/2 and go to Step  8; else set and go to Step  4.