Зміст курсу
Основи Matlab
Основи Matlab
Застосування: Логістична Задача
Продовжуючи матеріал з попереднього розділу, тут ви дізнаєтеся, як допомогти дистриб'ютору, який прагне оптимізувати спосіб об'єднання своїх продуктів у відправлення. Ви застосуєте всі набуті знання на практиці та отримаєте багато нових деталей у процесі.
Завдання
Проаналізувати цілі програми та звернутися до відео для отримання підказок і натхнення.
Визначити файл, що містить дані про контейнери та галузеві стандарти для палет.
Використати бібліотеку, таку як Pandas, для завантаження Excel-файлу та отримання даних про контейнери й галузеві стандарти оцінювання.
Створити всі можливі комбінації контейнерів для групування їх у палети, як було показано в попередньому розділі.
Для кожної можливої комбінації контейнерів:
- Аналіз кожної палети: обчислення середніх властивостей (наприклад, міцність на розрив і відсоток дефектів) для контейнерів у кожній палеті;
- Оцінювання та ціноутворення палет: присвоєння оцінок і розрахунок цін на основі середніх значень і галузевих стандартів з Excel-файлу;
- Порівняння цін продажу: відстеження найкращої комбінації шляхом порівняння загальної ціни продажу поточної комбінації з попередніми результатами.
Після визначення оптимальної комбінації отримати відповідні теги контейнерів за допомогою індексів рядків.
Зберегти фінальні результати, включаючи найкращу комбінацію та пов’язані деталі, назад у Excel-файл.
- Перевірити результати програми з результатами, показаними у відео, щоб переконатися, що оптимальна ціна збігається;
- Перевірити властивості палет відповідно до галузевих стандартів за допомогою обчислень у таблиці.
- Розробити програму з модульною структурою для кращої організації;
- Коригувати та тестувати реалізацію ітеративно для забезпечення точності та надійності.
- Властивості бункерів: імпортувати як матрицю, що містить властивості, такі як вага, міцність на розрив і відсоток дефектів;
- Теги бункерів: імпортувати як окрему матрицю;
- Галузеві стандартні показники: імпортувати як матрицю, що містить мінімальну міцність на розрив, максимальний відсоток дефектів і ціну за палету з 3 бункерів (7500 lbs);
- Назви галузевих стандартів: імпортувати як клітинковий масив.
Замість використання Generate_Combinations_MMS_M
з розділу 3, використовуйте функцію perms
для безпосереднього створення перестановок.
- Теги бункерів записуються як індекси, що вказують на позиції рядків у вихідних даних. Перетворіть ці індекси у теги бункерів, використовуючи індекси рядків з матриці тегів бункерів;
- Переконайтеся, що індекси рядків правильно співставлені між тегами бункерів і вихідними даними.
- 2D-матриці: використовуються для імпорту та експорту даних з/до Excel. Обов'язково посилайтеся на правильні рядки та стовпці;
- 3D-матриці: матриця
palette_permutations
містить усі можливі комбінації бункерів, згорнуті у 3D-матрицю; - Кожен рядок представляє конкретну комбінацію бункерів у палети;
- Кожен стовпець представляє індекс конкретного бункера;
- Третій вимір (1, 2, 3) відповідає різним палетам.
- Обмежте цикл
for
однією ітерацією (наприклад,for 1:1
), щоб завершити решту програми та отримати початкові результати; - Зосередьтеся на виведенні тегів бункерів, оцінок палет і оптимальної ціни в Excel по черзі. Ви можете закоментувати частини коду, щоб зосередитися на окремих аспектах.
- Вручну перевірте середні властивості кожної палети, щоб переконатися, що вони правильно розраховані та оцінені, а також загальну ціну комбінації палет;
- Якщо виникають проблеми, використовуйте ці перевірки для діагностики помилок у циклі
for
.
Якщо результати правильні для однієї перестановки, але оптимальна комбінація не знаходиться, обмежте цикл for
для тестування конкретної перестановки, наприклад, for 32280:32280
або for 16640:16640
. Це дозволяє перевірити продуктивність на різко відмінних комбінаціях.
Якщо проблема залишається після перевірки різних перестановок, можливо, є помилка в логіці вибору найкращої перестановки серед оцінених ітерацій. Перегляньте відео, щоб порівняти свої результати та переконатися в їхній точності.
Дякуємо за ваш відгук!