Arhn - архитектура программирования

Модель смешения: добыча нефти

Смешивание масел

Нефтяная компания производит масло трех марок: Regular, Multigrade и Supreme. Каждая марка масла состоит из одного или нескольких из четырех видов сырой нефти, каждая из которых имеет свой индекс смазки. Ниже приведены соответствующие данные о запасах сырой нефти.

+-------------+-------------------+------------------+--------------------------+
| Crude Stock | Lubrication Index | Cost (€/barrell) | Supply per day (barrels) |
+-------------+-------------------+------------------+--------------------------+
| 1           | 20                | 7,10             | 1000                     |
+-------------+-------------------+------------------+--------------------------+
| 2           | 40                | 8,50             | 1100                     |
+-------------+-------------------+------------------+--------------------------+
| 3           | 30                | 7,70             | 1200                     |
+-------------+-------------------+------------------+--------------------------+
| 4           | 55                | 9,00             | 1100                     |
+-------------+-------------------+------------------+--------------------------+  

Каждая марка масла должна соответствовать минимальному стандарту индекса смазки, поэтому каждая марка продается по разной цене. Соответствующие данные, касающиеся трех марок масла, следующие.

+------------+---------------------------+---------------+--------------+
| Brand      | Minimum Lubrication index | Selling price | Daily demand |
+------------+---------------------------+---------------+--------------+
| Regular    | 25                        | 8,50          | 2000         |
+------------+---------------------------+---------------+--------------+
| Multigrade | 35                        | 9,00          | 1500         |
+------------+---------------------------+---------------+--------------+
| Supreme    | 50                        | 10,00         | 750          |
+------------+---------------------------+---------------+--------------+   

Определите оптимальный план производства на один день, предполагая, что продукция может быть либо продана, либо сохранена с незначительными затратами. Цифры ежедневного спроса могут интерпретироваться по-разному. Исследуйте следующее:
(а) Ежедневный спрос представляет собой потенциальные продажи. Другими словами, модель должна содержать потолки спроса (верхние пределы). Какова оптимальная прибыль?
(b) Ежедневные требования — это строгие обязательства. Другими словами, модель должна содержать точно соблюдаемые ограничения спроса. Какова оптимальная прибыль?
(c) Ежедневный спрос представляет собой минимальные обязательства по продажам, но весь выпуск может быть продан. Другими словами, модель должна позволять объему производства превышать ежедневные обязательства. Какова оптимальная прибыль?

ВОПРОС

Мне удалось построить следующую модель в Excel и решить ее с помощью OpenSolver, но я смог интегрировать смесь только для обычного масла. Я пытаюсь проработать книгу Кеннета Р. Бейкера «Моделирование оптимизации с помощью электронных таблиц», но я застрял в этом упражнении. Хотя я мог бы перенести логику из другой проблемы смешивания, я не уверен, как построить модель для нескольких сочетаний одновременно. Я смоделировал задачу как задачу минимизации стоимости различных запасов сырой нефти. Используя данные индекса смазки, я построил ограничение для индекса R-Lub как линейное ограничение. Пока что ответ кажется правильным для обычного масла. Однако, используя этот подход, я понятия не имею, как включить даже второе всесезонное масло.

+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| Decision Variables |        |        |        |        |  |             |    |      |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
|                    | C1     | C2     | C3     | C4     |  |             |    |      |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| Inputs             | 1000   | 0      | 1000   | 0      |  |             |    |      |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
|                    |        |        |        |        |  |             |    |      |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| Objective Function |        |        |        |        |  | Total       |    |      |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| Cost               | 7,10 € | 8,50 € | 7,70 € | 9,00 € |  | 14.800,00 € |    |      |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
|                    |        |        |        |        |  |             |    |      |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| Constraints        |        |        |        |        |  | LHS         |    | RHS  |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| C1 supply          | 1      |        |        |        |  | 1000        | <= | 1000 |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| C2 supply          |        | 1      |        |        |  | 0           | <= | 1100 |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| C3 supply          |        |        | 1      |        |  | 1000        | <= | 1200 |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| C4 supply          |        |        |        | 1      |  | 0           | <= | 1100 |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| R- Lub Index       | -5     | 15     | 5      | 30     |  | 0           | >= | 0    |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| R- Output          | 1      | 1      | 1      | 1      |  | 2000        | =  | 2000 |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
|                    |        |        |        |        |  |             |    |      |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| Blending Data      |        |        |        |        |  |             |    |      |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| R- Lub             | 20     | 40     | 30     | 55     |  | 25          | >= | 25   |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+  

Вот модель с формулами Excel:

+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| Decision Variables |      |     |      |    |  |                                                    |    |      |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
|                    | C1   | C2  | C3   | C4 |  |                                                    |    |      |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| Inputs             | 1000 | 0   | 1000 | 0  |  |                                                    |    |      |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
|                    |      |     |      |    |  |                                                    |    |      |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| Objective Function |      |     |      |    |  | Total                                              |    |      |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| Cost               | 7,1  | 8,5 | 7,7  | 9  |  | =SUMMENPRODUKT(B5:E5;B8:E8)                        |    |      |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
|                    |      |     |      |    |  |                                                    |    |      |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| Constraints        |      |     |      |    |  | LHS                                                |    | RHS  |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| C1 supply          | 1    |     |      |    |  | =SUMMENPRODUKT($B$5:$E$5;B11:E11)                  | <= | 1000 |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| C2 supply          |      | 1   |      |    |  | =SUMMENPRODUKT($B$5:$E$5;B12:E12)                  | <= | 1100 |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| C3 supply          |      |     | 1    |    |  | =SUMMENPRODUKT($B$5:$E$5;B13:E13)                  | <= | 1200 |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| C4 supply          |      |     |      | 1  |  | =SUMMENPRODUKT($B$5:$E$5;B14:E14)                  | <= | 1100 |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| R- Lub Index       | -5   | 15  | 5    | 30 |  | =SUMMENPRODUKT($B$5:$E$5;B15:E15)                  | >= | 0    |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| R- Output          | 1    | 1   | 1    | 1  |  | =SUMMENPRODUKT($B$5:$E$5;B16:E16)                  | =  | 2000 |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
|                    |      |     |      |    |  |                                                    |    |      |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| Blending Data      |      |     |      |    |  |                                                    |    |      |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| R- Lub             | 20   | 40  | 30   | 55 |  | =SUMMENPRODUKT($B$5:$E$5;B19:E19)/SUMME($B$5:$E$5) | >= | 25   |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+  

Толчок в правильном направлении был бы огромной помощью.


Ответы:


1

Я думаю, вы хотите, чтобы вашей целью была прибыль, которую я бы определил как сумму стоимости продаж - сумму затрат.

Чтобы включить все смеси, разработайте расчеты произведенного объема, индекса смазки, стоимости и стоимости для каждой смеси. Применяйте ограничения для объема используемых запасов, объема производства и индекса смазочных материалов и оптимизируйте прибыль.

Собрал модель следующим образом...

введите здесь описание изображения

  1. Столбцы от A до D — это предоставленная вами информация.
  2. Десятки в G2:J5 являются начальными значениями объемов запасов, используемых в каждой смеси. Решатель будет манипулировать ими.
  3. Столбец К содержит общий объем произведенной продукции. Они будут ограничены по-разному в соответствии с вашим исследованием (a), (b) и (c). Он =SUM(G3:J3) заполнен.
  4. Столбец L — индекс смазки для продукта. Как вы заметили, это линейное смешение - обычно это не так для проблем со смешением. Эти значения будут ограничены в Solver. Он {=SUMPRODUCT(G3:J3,TRANSPOSE($B$2:$B$5))/$K3} заполнен. Обратите внимание, что это формула Control-Shift-Enter (CSE), необходимая из-за TRANSPOSE.
  5. Столбец M — стоимость запаса, использованного для создания продукта. Это используется в расчете прибыли. Это {=SUMPRODUCT(G3:J3,TRANSPOSE($C$2:$C$5))}, заполнено. Это также формула CSE.
  6. Столбец N – стоимость произведенного продукта. Это используется в расчете прибыли. Он =K3*C8 заполнен.
  7. Строка 7 представляет собой общий объем запасов, используемый для создания всех смесей. Эти значения будут ограничены в Solver. Это =SUM(G3:G5), заполненный справа.
  8. Расчет прибыли =SUM(N3:N5)-SUM(M3:M5).

Ниже приведен снимок диалогового окна Solver...

введите здесь описание изображения

Делает следующее...

  1. Цель – максимизация прибыли.
  2. Он будет делать это, манипулируя количеством бульона, которое входит в каждую смесь.
  3. Первые четыре ограничения ($G$7 through $J$7) гарантируют, что количество доступного запаса не будет нарушено.
  4. Следующие три ограничения ($K$3 through $K$5) относятся к случаю (а) — производить не больше продукта, чем есть спрос.
  5. Последние три ограничения ($L$3 through $L$5) гарантируют, что индекс смазки соответствует минимальной спецификации.
  6. Не показано — я выбрал параметры для нелинейного GRG и выбрал «Использовать многозаходный» и снял флажок «Требовать границы переменных».

Ниже приведен результат для случая (а) ...

введите здесь описание изображения

Для случая (b) измените ограничения для столбца K на "=" вместо "‹=". Ниже результат...

введите здесь описание изображения

Для случая (c) измените ограничения для столбца K на ">=". Ниже результат...

введите здесь описание изображения

09.02.2017
  • Спасибо за очень полезное объяснение. Я знаю, что лучше понимаю, как моделировать эти и подобные проблемы в Excel. Интересно, что модель, которую я построил с отрицательными числами, дала тот же результат. Продажная цена для случая (с) такая же. Это замечательно. Спасибо 09.02.2017

  • 2

    Я думаю, что нашел решение, но я не уверен, правильно ли это.

    | Decision Variables |         |        |        |        |             |        |        |        |        |        |        |        |   |                                |    |      |
    |--------------------|---------|--------|--------|--------|-------------|--------|--------|--------|--------|--------|--------|--------|---|--------------------------------|----|------|
    |                    | C1R     | C1M    | C1S    | C2R    | C2M         | C2S    | C3R    | C3M    | C3S    | C4R    | C4M    | C4S    |   |                                |    |      |
    | Inputs             | 1000    | 0      | 0      | 800    | 0           | 300    | 0      | 1200   | 0      | 200    | 300    | 600    |   |                                |    |      |
    |                    |         |        |        |        |             |        |        |        |        |        |        |        |   |                                |    |      |
    | Objective Function |         |        |        |        |             |        |        |        |        |        |        |        |   | Total Profit (Selling  - Cost) |    |      |
    | Cost               | 7,10 €  | 7,10 € | 7,10 € | 8,50 € | 8,50 €      | 8,50 € | 7,70 € | 7,70 € | 7,70 € | 9,00 € | 9,00 € | 9,00 € |   | 3.910,00 €                     |    |      |
    |                    |         |        |        |        |             |        |        |        |        |        |        |        |   |                                |    |      |
    | Constraints        |         |        |        |        |             |        |        |        |        |        |        |        |   | LHS                            |    | RHS  |
    | Regular            | -5      |        |        | 15     |             |        | 5      |        |        | 30     |        |        |   | 13000                          | >= | 0    |
    | Multi              |         | -15    |        |        | 5           |        |        | -5     |        |        | 20     |        |   | 0                              | >= | 0    |
    | Supreme            |         |        | -30    |        |             | -10    |        |        | -20    |        |        | 5      |   | 0                              | >= | 0    |
    | C1 Supply          | 1       | 1      | 1      |        |             |        |        |        |        |        |        |        |   | 1000                           | <= | 1000 |
    | C2 Supply          |         |        |        | 1      | 1           | 1      |        |        |        |        |        |        |   | 1100                           | <= | 1100 |
    | C3 Supply          |         |        |        |        |             |        | 1      | 1      | 1      |        |        |        |   | 1200                           | <= | 1200 |
    | C4 Supply          |         |        |        |        |             |        |        |        |        | 1      | 1      | 1      |   | 1100                           | <= | 1100 |
    | Regular Demand     | 1       |        |        | 1      |             |        | 1      |        |        | 1      |        |        |   | 2000                           | >= | 2000 |
    | Multi Demand       |         | 1      |        |        | 1           |        |        | 1      |        |        | 1      |        |   | 1500                           | >= | 1500 |
    | Supreme Demand     |         |        | 1      |        |             | 1      |        |        | 1      |        |        | 1      |   | 900                            | >= | 750  |
    |                    |         |        |        |        |             |        |        |        |        |        |        |        |   |                                |    |      |
    |                    |         |        |        |        |             |        |        |        |        |        |        |        |   |                                |    |      |
    | Selling            |         |        |        |        |             |        |        |        |        |        |        |        |   |                                |    |      |
    | Regular            | 8,50 €  | x      | 2000   | =      | 17.000,00 € |        |        |        |        |        |        |        |   |                                |    |      |
    | Multi              | 9,00 €  | x      | 1500   | =      | 13.500,00 € |        |        |        |        |        |        |        |   |                                |    |      |
    | Supreme            | 10,00 € | x      | 900    | =      | 9.000,00 €  |        |        |        |        |        |        |        |   |                                |    |      |
    |                    |         |        |        |        | 39.500,00 € |        |        |        |        |        |        |        |   |                                |    |      |
    
    08.02.2017
  • Я не понимаю отрицательные числа. Вы не можете смешивать отрицательные объемы. 09.02.2017
  • стр. 50 — нелинейное ограничение — я прикрепил страницу из книги, которую пытаюсь проработать . Объясняется, что формула смешивания, имеющая переменные решения в знаменателе дроби, должна быть преобразована в формулу, которую я использовал на листе Excel. 09.02.2017
  • для смешивания обычных я использовал: (20C1R+40C2R+30C3R+55C4R)/(C1R+C2R+C3R+C4R) ›= 25, я решил это, умножив обе части на знаменатель, который дает 20C1R+40C2R+30C3R +55C4R ›= 25(C1R+C2R+C3R+C4R), это сводится к формуле, которую я использовал на листе Excel, -5C1R+15C2R+5C3R+30C4R ›= 0, надеюсь, это правильный путь сделать это 09.02.2017
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..