Description Тест против жадного алгоритма. Есть четыре локации - рейд, терминал 1, терминал 2 и терминал 3. На рейде два грузовых судна. Грузовые суда могут перемещаться между рейдом и терминалом 1 за 1 ед. времени. Так же, грузовые суда могут перемещаться между терминалами за 1 ед. времени. Суда загружаются у терминала 1 со скоростью 31 ед./интервал. Суда загружаются у терминала 2 со скоростью 3 ед./интервал. Суда загружаются у терминала 3 со скоростью 4 ед./интервал. Грузовые суда пусты, хранилище при терминале 1 имеет 31 ед. груза, при терминале 2 - 100 ед. груза, так же, как и при терминале 3. Необходимо загрузить оба судна по 40 ед. груза, и отправить их обратно на рейд. Идея - при частичной операции иногда не стоит жадно забирать сколько влезет, а взять только часть и оставить другому, даже если надо самому. Пример - в решении "With splitting" - судно 12 загружает у терминала 1 12 ед. нефти, хотя можно было больше, и собственное хранилище заполнилось не до конца. Можно видеть, что жадный алгоритм не может так сделать, и ему приходится отправлять суда к терминалам 2 и 3, и уже на обратной дороге догружать у термиала 1 до максимума. При этом решение хуже на 1 ед. времени. Цель - показать различия в возможностях сведений. Решение сведения "Without splitting" с solver-ом Chuffed за 5.825 s : 14.0 20112; R; 0.0 ; 1.0 (11 []) \* Судно 11 идёт к причалу 2 от причала 1. 20112; R; 0.0 ; 1.0 (12 []) \* Судно 12 идёт к причалу 2 от причала 1. 20124; R; 1.0 ; 1.0 (11 []) \* Судно 11 идёт к причалу 4 от причала 2. 20124; R; 1.0 ; 1.0 (12 []) \* Судно 12 идёт к причалу 4 от причала 2. 20143; R; 2.0 ; 1.0 (11 []) \* Судно 11 идёт к причалу 3 от причала 4. 40004; R; 2.0 ; 10.0 (12 [] 4) \* Судно 12 принимает груз 10001 из хранилища 2004 с интенсивностью 4 у причала 4. 20132; R; 3.0 ; 1.0 (11 []) \* Судно 11 идёт к причалу 2 от причала 3. 20124; R; 4.0 ; 1.0 (11 []) \* Судно 11 идёт к причалу 4 от причала 2. 20143; R; 5.0 ; 1.0 (11 []) \* Судно 11 идёт к причалу 3 от причала 4. 40003; R; 6.0 ; 3.0 (11 [] 3) \* Судно 11 принимает груз 10001 из хранилища 2003 с интенсивностью 3 у причала 3. 20134; R; 9.0 ; 1.0 (11 []) \* Судно 11 идёт к причалу 4 от причала 3. 20142; R; 10.0; 1.0 (11 []) \* Судно 11 идёт к причалу 2 от причала 4. 40002; R; 11.0; 1.0 (11 [] 31) \* Судно 11 принимает груз 10001 из хранилища 2002 с интенсивностью 31 у причала 2. 20121; R; 12.0; 1.0 (11 []) \* Судно 11 идёт к причалу 1 от причала 2. 20142; R; 12.0; 1.0 (12 []) \* Судно 12 идёт к причалу 2 от причала 4. 20121; R; 13.0; 1.0 (12 []) \* Судно 12 идёт к причалу 1 от причала 2. Решение сведения "Greedy v2" с solver-ом or-tools за 1780.826 s : 13.0 20112; R; 0.0 ; 1.0 (11 []) \* Судно 11 идёт к причалу 2 от причала 1. 20112; R; 0.0 ; 1.0 (12 []) \* Судно 12 идёт к причалу 2 от причала 1. 20123; R; 1.0 ; 1.0 (12 []) \* Судно 12 идёт к причалу 3 от причала 2. 20124; R; 1.0 ; 1.0 (11 []) \* Судно 11 идёт к причалу 4 от причала 2. 40003; R; 2.0 ; 7.0 (12 [] 3) \* Судно 12 принимает груз 10001 из хранилища 2003 с интенсивностью -3 у причала 3. 40004; R; 2.0 ; 7.0 (11 [] 4) \* Судно 11 принимает груз 10001 из хранилища 2004 с интенсивностью -4 у причала 4. 20132; R; 9.0 ; 1.0 (12 []) \* Судно 12 идёт к причалу 2 от причала 3. 20143; R; 9.0 ; 1.0 (11 []) \* Судно 11 идёт к причалу 3 от причала 4. 20132; R; 10.0; 1.0 (11 []) \* Судно 11 идёт к причалу 2 от причала 3. 40002; R; 10.0; 1.0 (12 [] 19) \* Судно 12 принимает груз 10001 из хранилища 2002 с интенсивностью -19 у причала 2. 20121; R; 11.0; 1.0 (12 []) \* Судно 12 идёт к причалу 1 от причала 2. 40002; R; 11.0; 1.0 (11 [] 12) \* Судно 11 принимает груз 10001 из хранилища 2002 с интенсивностью -12 у причала 2. 20121; R; 12.0; 1.0 (11 []) \* Судно 11 идёт к причалу 1 от причала 2. Решение сведения "With splitting" с solver-ом Chuffed за 20.527 s : 12.0 20112; R; 0.0 ; 1.0 (11 []) \* Судно 11 идёт к причалу 2 от причала 1. 20112; R; 0.0 ; 1.0 (12 []) \* Судно 12 идёт к причалу 2 от причала 1. 20123; R; 1.0 ; 1.0 (11 []) \* Судно 11 идёт к причалу 3 от причала 2. 40002; R; 1.0 ; 1.0 (12 [] 12) \* Судно 12 принимает груз 10001 из хранилища 2002 с интенсивностью 12 у причала 2. 20124; R; 2.0 ; 1.0 (12 []) \* Судно 12 идёт к причалу 4 от причала 2. 40003; R; 2.0 ; 7.0 (11 [] 3) \* Судно 11 принимает груз 10001 из хранилища 2003 с интенсивностью 3 у причала 3. 40004; R; 3.0 ; 7.0 (12 [] 4) \* Судно 12 принимает груз 10001 из хранилища 2004 с интенсивностью 4 у причала 4. 20132; R; 9.0 ; 1.0 (11 []) \* Судно 11 идёт к причалу 2 от причала 3. 20142; R; 10.0; 1.0 (12 []) \* Судно 12 идёт к причалу 2 от причала 4. 40002; R; 10.0; 1.0 (11 [] 19) \* Судно 11 принимает груз 10001 из хранилища 2002 с интенсивностью 19 у причала 2. 20121; R; 11.0; 1.0 (11 []) \* Судно 11 идёт к причалу 1 от причала 2. 20121; R; 11.0; 1.0 (12 []) \* Судно 12 идёт к причалу 1 от причала 2. Typified 1 Cargoes 10001; Нефть; 0.0 Berths 1; Внешний рейд 2; Терминал 1 3; Терминал 2 4; Терминал 3 Storages 2002; Нефтехранилище 1; [(10001, 100.0)] 2003; Нефтехранилище 2; [(10001, 100.0)] 2004; Нефтехранилище 3; [(10001, 100.0)] Vessel Types 1001; Нефтяные танкеры Bunker Types Bunkers Tows Loading Equipment Types Loading Equipments Transport Ships 11; Танкер 1; [(10001, 100.0)]; 1001 12; Танкер 2; [(10001, 100.0)]; 1001 Templates 20112; mov; []; 1001; 1; 2; []; 1.0 20121; mov; []; 1001; 2; 1; []; 1.0 20123; mov; []; 1001; 2; 3; []; 1.0 20134; mov; []; 1001; 3; 4; []; 1.0 20142; mov; []; 1001; 4; 2; []; 1.0 20132; mov; []; 1001; 3; 2; []; 1.0 20143; mov; []; 1001; 4; 3; []; 1.0 20124; mov; []; 1001; 2; 4; []; 1.0 40002; loa; []; 2002; 10001; 1001; 2; []; 31.0; U 40003; loa; []; 2003; 10001; 1001; 3; []; 3.0; U 40004; loa; []; 2004; 10001; 1001; 4; []; 4.0; U Cargo Flows Initial Vessel State 11; 1 12; 1 Initial Storage State 10001; 2002; 31.0 10001; 2003; 100.0 10001; 2004; 100.0 10001; 11; 0.0 10001; 12; 0.0 Final Vessel State 11; 1 12; 1 Final Storage State 10001; 11; 40.0 10001; 12; 40.0 Task Properties 25.0; 0 Fixed Operations Solution 14.0 20112; R; 0.0 ; 1.0 (11 []) \* Судно 11 идёт к причалу 2 от причала 1. 20112; R; 0.0 ; 1.0 (12 []) \* Судно 12 идёт к причалу 2 от причала 1. 20124; R; 1.0 ; 1.0 (11 []) \* Судно 11 идёт к причалу 4 от причала 2. 20124; R; 1.0 ; 1.0 (12 []) \* Судно 12 идёт к причалу 4 от причала 2. 20143; R; 2.0 ; 1.0 (11 []) \* Судно 11 идёт к причалу 3 от причала 4. 40004; R; 2.0 ; 10.0 (12 [] 4) \* Судно 12 принимает груз 10001 из хранилища 2004 с интенсивностью 4 у причала 4. 20132; R; 3.0 ; 1.0 (11 []) \* Судно 11 идёт к причалу 2 от причала 3. 20124; R; 4.0 ; 1.0 (11 []) \* Судно 11 идёт к причалу 4 от причала 2. 20143; R; 5.0 ; 1.0 (11 []) \* Судно 11 идёт к причалу 3 от причала 4. 40003; R; 6.0 ; 3.0 (11 [] 3) \* Судно 11 принимает груз 10001 из хранилища 2003 с интенсивностью 3 у причала 3. 20134; R; 9.0 ; 1.0 (11 []) \* Судно 11 идёт к причалу 4 от причала 3. 20142; R; 10.0; 1.0 (11 []) \* Судно 11 идёт к причалу 2 от причала 4. 40002; R; 11.0; 1.0 (11 [] 31) \* Судно 11 принимает груз 10001 из хранилища 2002 с интенсивностью 31 у причала 2. 20121; R; 12.0; 1.0 (11 []) \* Судно 11 идёт к причалу 1 от причала 2. 20142; R; 12.0; 1.0 (12 []) \* Судно 12 идёт к причалу 2 от причала 4. 20121; R; 13.0; 1.0 (12 []) \* Судно 12 идёт к причалу 1 от причала 2.