//go to: https://www.lutanho.net/goodies/codetester.html //click on: (*)javascript //copy & paste: this text //adapt: T, Demand, p_t, q1t, q2t, q3t, C1, C2, C2 values //click on: [run] //Instance generator for data form //"Multi-Module Capacitated Lot-Sizing Problem and its Generalizations with Two-Echelons and Piecewise Concave Production Costs" //by Kartik Kulkarni and Manish Bansal (2019) //available at https://github.com/Bansal-ORGroup/MCLS-LSPC-Data T = 40; Demand = [599, 413, 404, 569, 437, 409, 432, 567, 585, 575, 495, 459, 536, 442, 405, 417, 592, 553, 401, 503, 498, 528, 570, 413, 513, 514, 499, 491, 567, 506, 486, 543, 417, 420, 424, 450, 599, 429, 434, 463]; p_t = [0.66, 0.51, 0.82, 0.92, 0.72, 0.94, 0.61, 0.82, 0.55, 0.96, 0.72, 0.74, 0.96, 0.7, 0.54, 0.64, 0.86, 0.97, 0.84, 0.89, 0.62, 0.94, 0.69, 0.81, 0.83, 0.65, 0.62, 0.77, 0.99, 0.74, 0.72, 0.55, 0.74, 0.84, 0.97, 0.61, 0.66, 0.52, 0.61, 0.91]; q1t = [3023, 2953, 2894, 3132, 3092, 3058, 2859, 3082, 3038, 3048, 3053, 3016, 2921, 2964, 3024, 3130, 2876, 2887, 3129, 3150, 2916, 3086, 3124, 2942, 3147, 2936, 2900, 3126, 3069, 3040, 2906, 2855, 3129, 3072, 3137, 2919, 3046, 2868, 2873, 2979]; q2t = [5871, 5970, 5872, 5871, 6079, 5991, 6117, 5914, 5885, 6088, 6005, 6196, 6074, 5900, 5948, 5853, 6013, 6047, 5969, 5867, 5973, 6027, 6031, 6159, 5855, 5859, 6002, 6007, 5962, 5888, 5903, 5858, 6148, 6198, 6183, 5952, 5896, 5877, 6016, 5877]; q3t = [9062, 9165, 8879, 9088, 8932, 9062, 9106, 8919, 9193, 9071, 9087, 8850, 9111, 8915, 9093, 9065, 9140, 9003, 9055, 9162, 8876, 9145, 8818, 9114, 8827, 9076, 8977, 8956, 9185, 9090, 8955, 8947, 8945, 9118, 9163, 9045, 9065, 8888, 9184, 8909]; C1 = 970; C2 = 1950; C3 = 2810; var h=0.05, b=0.15; //holdinng costs, backlogging costs var win=window.open('',''); with(win.document) { open(); write('
');
write('//Input data for Online Solver at https://www.lutanho.net/plt/lotsize_mcm.html
')
write('//All costs multiplied by 100 to get integer values
')
write('//I u_0 y_0 y_I
')
write(' '+T+'; 0; 0; 0;
')
write('startup x_min fix var x_max fix var x_max fix var x_max demand y_min fix var up fix var y_max
');
for (ii=0; ii');
write(' ');
close();
}