Оптимальный вариант в excel

Хитрости »

14 Февраль 2017              25571 просмотров


Как быстро подобрать оптимальный вариант решения

Практически в любой компании в определенные периоды могут «высвобождаться» из оборота временно свободные денежные средства(ВСДС). Оставлять эти деньги просто так на счетах компании весьма нецелесообразно. Деньги должны делать деньги. Конечно, вложение денег в банковские депозиты может показаться не самым лучшим вариантом для инвестиций, но все же это хоть какой-то доход, который если и не будет колоссальным, то хотя бы частично покроет инфляционные потери.
И самое сложное это выбрать банк, программу депозита и срок для вложений таким образом, чтобы получить максимальную выгоду. Сделать это поможет один из самых мощных, но в тоже время малоиспользуемых инструментов Excel — надстройка Поиск решения(Solver).

Чтобы пошагово выполнять дальнейшие действия, описанные в статье рекомендую сразу скачать файл с моделью для Поиска решения:

  Модель_расчета_ВСДС.xls (44,5 KiB, 1 466 скачиваний)

Надстройка Поиск решения хоть и устанавливается автоматически вместе с Excel(начиная с версий 2007 и выше), но по умолчанию отключена. Чтобы включить надстройку необходимо перейти в Файл(File)Параметры(Options). В появившемся диалоговом окне выбрать слева пункт Надстройки(Add-ins). Далее справа внизу в выпадающем списке Управление выбрать —Надстройки Excel(Excel Add-ins) и нажать Перейти(Go):
Меню Надстройки
В окне Надстройки(Add-ins) устанавливаем галочку напротив пункта Поиск решения(Solver), жмем ОК.
Подключение надстройки
Поиск решения теперь будет доступен с вкладки Данные(Data) -группа Анализ(Analize):
Вкладка Анализ
Исходные данные
Для начала нам потребуется определить сумму временно свободных денежных средств и сроки, на которые мы хотим эти средства разместить в банке. Далее конечно же потребуется выбрать несколько банков (или конкретные предложения отдельного банка) с различными процентами годовых за размещение ДС. Но так же придется учесть и реалии: не стоит все средства размещать исключительно в одном банке и поэтому надо для банков/предложений определить лимит ДС, который нельзя превышать.
Т.е. наши исходные данные выглядят примерно так:

  • период размещения ДС на депозите(скажем 14 дней, 28 дней, 62 дня и 91 день)
  • сумма ДС, доступная на каждый период размещения
  • процент за размещение ДС на каждый период для каждого типа размещения(срочный депозит, до востребования, овернайт и т.д.) или банка
  • лимит на размещение средств по каждому типу депозита или для каждого банка(лимит определяется самой компанией)

Как работает Поиск решения
Поиск решения хорош тем, что он может быть применен практически к любой задаче. Что он делает? Он на основании заданных условий и ограничений перебирает все возможные варианты, которые подходят под условия и не выходят за рамки заданных ограничений, если они есть. И из всех подобранных вариантов выбирает самый оптимальный. В нашем случае будем подбирать наиболее выгодный для нас вариант размещения ВСДС.
А что считать наиболее выгодным? Конечно то, что принесет наибольший доход. При этом наша цель не просто выбрать депозит с самым большим процентом (это было бы слишком просто и для этого не нужен Поиск решения), а может даже совместить несколько вариантов размещения ВСДС на разных депозитах с разными ставками и разными периодами. Ведь для различных сумм или сроков и ставки могут быть разными.
И теперь останется определить какие у нас могут быть ограничения. По сути их два основных:

  • Непосредственно сумма ВСДС – мы не должны при расчете максимального дохода выходить за рамки общей суммы доступных ВСДС
  • Лимит по депозиту для размещения – как упоминалось выше, могут быть установлены лимиты на размещение средств в том или ином банке на усмотрение компании. Конечно, любой банк заинтересован в большей сумме, но не стоит рисковать и вкладывать всю сумму в один банк

Исходные данные определены, ограничения тоже. Осталось записать все это в удобную таблицу(приложена к статье), в которой при необходимости сможем изменять эти исходные данные и ограничения:
Исходная таблица
Для большей наглядности блоки таблицы разделены цветами:

  • Синий и голубой – заполняемые вручную данные: суммы ВСДС, сроки ВСДС, лимиты размещения ВСДС в банках, процент по каждому банку/размещению
  • Зеленый – расчетные поля. Их не надо изменять вручную
  • Красный – поля, заполняемые автоматически Поиском решения или формулами. Их не надо изменять вручную
  • Так же серый шрифт – это «служебные» ячейки, которые не влияют на расчеты непосредственно в таблице, но которые потребуются нам для корректной работы Поиска решения для учета ограничений

После заполнения таблицы исходными данными можно приступать к определению максимального выгодного вложения ВСДС.

Переходим на вкладку Данные(Data) -группа Анализ(Analize)Поиск решения(Solver). В появившемся окне указываем следующие данные:
Параметры поиска решения

  • Оптимизировать целевую функцию(Set Objective) – указываем ячейку H18, в которой у нас подводится сумма общего дохода от вложений
  • До(To) – выбираем Максимум(Max), т.к. нам нужен максимально возможный доход
  • Изменяя ячейки переменных(By Changing Variable Cells) – указываем H9:K14. В эти ячейки Поиск решения будет подставлять суммы к размещению и вычисляя от этого возможный доход. Собственно, заполненные здесь данные нам и нужны в итоге
  • В соответствии с ограничениями(Subject to the Constraints) – здесь мы сами добавляем ограничения, которые необходимо учитывать при расчете дохода. Нам потребуется добавить два ограничения(на скрине выше они уже добавлены, но в любом случае необходимо знать как их создавать). Нажимаем справа кнопку Добавить(Add), появится окно добавления ограничения:
    Добавить ограничение
    В данном случае я хочу добавить ограничение, что суммы в ячейках с лимитом размещения в банке должны быть больше или равны общей сумме размещенных ВСДС. Эта сумма у нас подводится в ячейках L9:L14. Таким образом нам в левой части надо выбрать ячейки с суммами заданных лимитов (C9:C14), а в правой суммы всех вложений – L9:L14. В выпадающем списке между двумя этими полями можно выбрать тип сравнения. В нашем случае ячейки слева (лимиты ДС) должны быть больше или равны(>=) общей сумме вложений по данному типу – ячейки справа.
    Аналогично добавляем второе ограничение – суммы доступных ВСДС не должны превышать суммы, которые Поиск решения предложит разместить. Доступные суммы у нас указаны в ячейках D7:G7, а общие суммы предложенных к размещению Поиском решения – в ячейках H16:K16(в этих ячейках записаны формулы, суммирующие данные сумм по каждому периоду в ячейках H9:K14)
  • Так же лучше установить галочку Сделать переменные без ограничений неотрицательными(Make Unconstrained Variables Non-Negative), чтобы Поиск решения не стал подбирать отрицательные суммы для выполнения условий
    В рассматриваемой задаче это маловероятно, но при использовании Поиска решения в других задачах этому пункту советую уделять особое внимание, т.к. иногда оптимальным решением для достижения заданного результата с точки зрения Поиска решения будет добавление отрицательного значения среди заполняемых ячеек

Нажимаем Найти решение(Solve). Если все условия заданы правильно и ограничения выполнимы, то Поиск решения заполнит ячейки суммами и выдаст сообщение о том, что решение найдено и предложит сохранить найденные значения или восстановить предыдущие. В нашем случае надо оставить пункт Сохранить найденное решение(Keep Solver Solution) и нажать Ок.
Результат поиска решения
После этого мы сможем более детально изучить предложенное решение:
Результат
При необходимости изменить какие-то исходные данные и запустить поиск решения заново. Все ранее указанные ограничения и условия сохраняются и создавать их заново не придется.
В приложенном к статье файле все ограничения и условия уже созданы и для их просмотра и правки достаточно просто запустить Поиск решения
Осталось понять Как работает вся эта таблица в Поиске решения
В блоке Доход в зависимости от срока размещения, руб(M9:P14) записаны формулы, которые определяют сумму дохода в зависимости от вложенной суммы и срока размещения. При этом рассчитываются они из сумм, записанных в ячейках красного блока (Суммы к размещению на соответствующие сроки – H9:K14) и от сроков, указанных в исходных данных(D8:G8). В ячейке Итого доходность(H18) подводится сумма этих ячеек. Т.е. мы определяем общий доход от вложений. Все, что остается делать Поиску решения – это изменять значения ячеек Суммы к размещению на соответствующие сроки (H9:K14) до тех пор, пока сумма всех доходов (Итого доходность — H18) не достигнет максимального значения из всех возможных вариантов при всех существующих ограничениях. Суммы в ячейках H9:K14 и будут являться оптимальным решением.
При этом если мы захотим исключить какой-либо банк/тип депозита из просчета, достаточно будет установить в ячейках C7:C14 для этого типа значение 0. Тогда он не будет учитываться для размещения Поиском решения и не надо будет удалять/добавлять строки и переопределять ограничения.

Проверка результатов
Надстройка Поиск решения реализована при помощи весьма сложных алгоритмов и, пожалуй, является самой непредсказуемой надстройкой в Excel. Поэтому рекомендуется тщательно перепроверять результаты вручную, прежде чем полностью на них положиться. Сверяйте полученные результаты, чтобы убедиться, что ограничения не нарушены и главное, что результат отвечает ожиданиям (хотя бы примерно).
Так же следует учитывать, что надстройка может при одинаковых условиях и исходных данных выдавать различные результаты при многократном запуске. Это так же обусловлено сложностью заложенных алгоритмов. Т.е. теоретически, запустив Поиск решения пять раз есть вероятность, что все пять раз решение будет разным. Хотя в большинстве случаев я наблюдал ситуации, когда при одинаковых исходных данных решение было одинаковым.

Скачать пример:

  Модель_расчета_ВСДС.xls (44,5 KiB, 1 466 скачиваний)


Подбор под сумму через Поиск решения

И еще один пример применения Поиска решения. Предположим, что у нас есть таблица с начислениями НДС за первый квартал. И есть некая итоговая сумма, которая должна быть отчислена за первый квартал. Проблема в том, что не все строки из таблицы были использованы для отчисления общего налога за первый квартал. Задача отобрать из всех сумм только те, которые при сложении дадут именно нужную итоговую сумму отчислений. Данный прием я решил не описывать текстом, а записать видео для большей наглядности:

Скачать файл из видео:

  Подбор под сумму.xls (60,5 KiB, 867 скачиваний)

Так же см.:
План-фактный анализ в Excel при помощи Power Query
Автообновляемая сводная таблица


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

В этой статье обсуждается использование надстройки Microsoft Excel «Решение», которая позволяет анализировать «что если» для определения оптимального сочетания продуктов.

Как определить ежемесячный набор продуктов, который позволяет повысить прибыльность?

Компаниям часто требуется определять количество каждого продукта, который будет создаваться ежемесячно. В простейшей форме проблема в наборе продуктов состоит в том, как определить объем каждого продукта, который должен быть произведен в течение месяца, чтобы максимально увеличить прибыль. Сочетание продуктов обычно должно соответствовать следующим ограничениям:

  • Сочетание продуктов не может использовать больше ресурсов, чем доступно.

  • Потребность в каждом продукте ограничена. В течение месяца мы не можем создать больше продукции, чем это диктует потребность в продукции, так как в нее нагребают лишние продукты (например, избежаемый продукт).

Теперь рассмотрим пример проблемы со сочетанием продуктов. Решение этой проблемы можно найти в файле Prodmix.xlsx, как показано на рисунке 27-1.

Изображение книги

Предположим, что мы работаем в компании, которая производит шесть различных продуктов на своем заводе. Для производства каждого продукта требуются трудовые и необработанные материалы. В строке 4 на рисунке 27-1 показано количество часов труда, необходимое для получения фунта каждого товара, а в строке 5 — фунт необработанных материалов, необходимых для получения фунта каждого товара. Например, для получения фунта продукта 1 требуется 6 часов труда и 3,2 фунта неотработанных материалов. Цена за фунт для каждого фунта задается в строке 6, цена за единицу за фунт — в строке 7, а доход за фунт — в строке 9. Например, товар 2 продается по 11,00 долларов США за фунт, за единицу стоит 5,70 долларов США за фунт и вклад в сумму 5,30 долларов США за фунт. Запрос за месяц для каждого подмайки выдается в строке 8. Например, потребность в продукте 3 составляет 1041 фунт. В этом месяце доступно 4500 часов труда и 1600 фунтов необработанных материалов. Как эта компания может максимально увеличить ежемесячную прибыль?

Если бы нам не было известно ничего о надстройке Excel «Решение», мы могли бы решить эту проблему, построив на этом листах данные о прибылях и использовании ресурсов, связанных с этим сочетанием продуктов. Затем мы использовали пробные и ошибки, чтобы оптимизировать прибыль, не используя при этом больше ресурсов и необработанных материалов, чем доступно, и не изменяя при этом лишние продукты. Над решением этой процедуры мы используем только пробную стадию с ошибкой. По сути, «Поиск решения» — это механизм оптимизации, который безукоризненно выполняет поиск по пробным версиям и ошибкам.

Ключ к решению этой проблемы — эффективное вычисление использования ресурсов и прибыли, связанных с любым сочетанием продуктов. Для этого важно использовать функцию СУММПРОИDUCT. Функция СУММПРОИCT перемножает соответствующие значения в диапазонах ячеев и возвращает сумму этих значений. Каждый диапазон ячеок, используемый в оценке СУММПРОИДУCT, должен иметь одинаковые размеры, что подразумевает, что можно использовать суммпроидуц с двумя строками или двумя столбцами, но не с одной строкой и столбцом.

В качестве примера использования функции СУММПРОИПР в нашем примере мы постараемся вычислить использование ресурсов. Трудоемкие труды вычисляются по

(Количество трудовых единиц, использованных для одного фунта воды в секунду)*(1 фунт 1, произведено)+

(Трудоемка, используемая для одного фунта валюты 2)*(2 фунта, произведенного) + …

(Трудоемка, используемая для одного фунта валюты 6)*(6 фунтов в секунду)

Мы могли бы более утомительным образом вычислять использование труда, как D2*D4+E2*E4+F2*F4+G2*G4+H2*H4+I2*I4. Кроме того, использование необработанных материалов можно вычислять как D2*D5+E2*E5+F2*F5+G2*G5+H2*H5+I2*I5. Однако ввод этих формул на таблицу для шести продуктов отнимает много времени. Представьте, сколько времени займет работа с компанией, которая производит, например, 50 продуктов на своем заводе. Гораздо проще вычислять трудоемкие и необработанные данные, скопируя из D14 в D15 формулу СУММПРОИДУCT($D$2:$I$2;D4:I4). Эта формула вычисляет D2*D4+E2*E4+F2*F4+G2*G4+H2*H4+I2*I4 (это наш рабочий процесс), но гораздо проще ввести! Обратите внимание, что я использую знак $ с диапазоном D2:I2, чтобы при копировании формулы все равно записать сочетание продуктов из строки 2. Формула в ячейке D15 вычисляет использование необработанных материалов.

Аналогичным образом прибыль определяется с помощью

(Доход от 1 дохода на фунт)*(1 фунт произведен) +

(Доход от 2 дохода на фунт)*(2 фунта произведено) + …

(6 доход на фунт)*(произведено 6 фунтов)

Доход легко вычисляется в ячейке D12 с помощью формулы СУММПРОИКТ(D9:I9;$D$2:$I$2).

Теперь мы можем определить три компонента модели решения для всех продуктов.

  • Целевая ячейка. Наша цель — максимально увеличить прибыль (вычисленную в ячейке D12).

  • Изменяя ячейки. Количество фунта, произведенного каждым продуктом (в диапазоне ячеок D2:I2)

  • Ограничения. В этом примере есть следующие ограничения:

    • Не используйте больше трудовых или необработанных материалов, чем доступно. То есть значения в ячейках D14:D15 (используемые ресурсы) должны быть меньше или равны значениям в ячейках F14:F15 (доступные ресурсы).

    • Не выполыв при этом больше средств, чем нужно. Это значит, что значения в ячейках D2:I2 (фунта, произведенного для каждого пациента) должны быть меньше или равны требованию для каждого пациента (в ячейках D8:I8).

    • Мы не можем привести к отрицательным последствиям любых проблем с наркотиками.

Я покажу вам, как ввести целевую ячейку, изменить ячейки и ограничения в «Найти решение». Все, что вам нужно сделать, — это нажать кнопку «Найти решение», чтобы найти набор товаров, который максимально увеличить прибыль!

Для начала на вкладке «Данные» в группе «Анализ» нажмите кнопку «Найти решение».

Примечание:  Как объяснялось в главе 26 «Введение в оптимизацию с помощью надстройки Excel «Решение», надстройка «Решение» устанавливается с помощью кнопки Microsoft Office, а затем параметров Excel и надстройки. В списке «Управление» щелкните «Надстройки Excel», выберите поле «Найти решение» и нажмите кнопку «ОК».

Появится диалоговое окно «Параметры решения», как показано на рисунке 27–2.

Изображение книги

Щелкните поле «Установить целевую ячейку» и выберите ячейку прибыли (ячейка D12). Щелкните поле «Изменяя ячейки», а затем найдите диапазон D2:I2, содержащий количество отсюдоха каждого пациента. Диалоговое окно будет выглядеть как «Рисунок 27-3».

Изображение книги

Теперь можно добавить ограничения в модель. Нажмите кнопку «Добавить». На рисунке 27–4 показано диалоговое окно «Добавить ограничение».

Изображение книги

Чтобы добавить ограничения использования ресурсов, щелкните поле «Ссылка на ячейку» и выберите диапазон D14:D15. Выберите <= из среднего списка. Щелкните поле ограничения, а затем выберите диапазон ячеев F14:F15. Диалоговое окно «Добавить ограничение» должно выглядеть так: «Рисунок 27-5».

Изображение книги

Теперь, когда «Найти решение» пытается использовать другие значения для изменяющихся ячеек, будут учитываться только сочетания, которые удовлетворяют как D14<=F14 (трудоемка меньше или равна доступной работе), так и D15<=F15 (используемый необработаный материал меньше или равен доступному неоцененному). Нажмите кнопку «Добавить», чтобы ввести ограничения по запросу. Заполните поле в диалоговом окне «Добавить ограничение», как показано на рисунке 27–6.

Изображение книги

Добавление этих ограничений гарантирует, что при попытках «Найти решение» для изменяемого значения ячейки будут учитываться только сочетания, которые удовлетворяют следующим параметрам:

  • D2<=D8 (количество произведенного средства 1 не превышает потребность в этом средстве)

  • E2<=E8 (количество произведенного средства 2 не превышает или равно запросу на доступ к более 2).

  • F2<=F8 (количество произведенного средства 3 не превышает потребность в этом средстве)

  • G2<=G8 (количество произведенного средства 4 не превышает или равно запросу на доступ к наркотиками 4)

  • H2<=H8 (количество произведенного средства 5 не превышает или равно запросу на доступ к более 5).

  • I2<=I8 (количество произведенного средства 6 не превышает потребность в этом средстве)

В диалоговом окне «Добавить ограничение» нажмите кнопку «ОК». Окно «Решение» должно выглядеть так: «Рисунок 27-7».

Изображение книги

В диалоговом окне «Параметры решения» введите ограничение на то, что изменяющиеся ячейки не должны быть отрицательными. Нажмите кнопку «Параметры» в диалоговом окне «Параметры решения». Проверьте окне «Предполагаемая линейная модель» и «Нео отрицательная», как показано на рисунке 27–8 на следующей странице. Нажмите кнопку «ОК».

Изображение книги

При проверке значения «Предположим, неохожим» над решением будут учитываться только сочетания изменяющихся ячеек, в которых каждая из изменяющихся ячеек принимает нео отрицательное значение. Мы проверили поле «Предполагаемая линейная модель», так как проблема с сочетанием продуктов — это особый тип решения, называемый линейной моделью. По сути, модель «Поиск решения» является линейной в следующих условиях:

  • Целевая ячейка вычисляется путем с совокупности терминов формы (изменяемой ячейки)*(константа).

  • Каждое ограничение соответствует «требованиям к линейной модели». Это означает, что каждое ограничение вычисляется путем с совокупности терминов формы (изменяемой ячейки)*(константа) и сравнения сумм с константой.

Почему эта проблема «Поиск решения» линейный? Целевая ячейка (прибыль) вычисляется как

(Доход от 1 дохода на фунт)*(1 фунт произведен) +

(Доход от 2 дохода на фунт)*(2 фунта произведено) + …

(6 доход на фунт)*(произведено 6 фунтов)

Эта вычисление вычисляется по шаблону, в котором вычисляется значение конечной ячейки путем с суммирования терминов формы (изменяемой ячейки)*(константа).

Наше ограничение на работу вычисляется путем сравнения значения, полученного из (Количество, используемого в фунте по 1)*(1 фунта влияния) + (Количество, используемого для одного фунта в фунте до 2)*(Фунт 2, полученный в качестве 2 фунта)+ (Трудоемкие мыed per pound of Drug 6)*(Pound 6 pound produced) to the labor available.

Следовательно, ограничение трудоемких ресурсов вычисляется путем с совокупности терминов формы (изменяемой ячейки)*(константа) и сравнения сумм с константой. Ограничение трудоемких ресурсов и ограничение в необработанных материалах отвечают требованиям к линейной модели.

Наши ограничения запроса принимают форму

(От 1 досье 1)<=(Потребность в наркотиками 1)

(От 2 досье 2)<=(Потребность в наркотиками 2)

§
(от 6 досье 6)<=(Потребность в наркотиками 6)

Каждое ограничение запроса также соответствует требованию к линейной модели, поскольку каждое из них вычисляется путем свести вместе условия формы (изменяемая ячейка)*(константа) и сравнить суммы с константой.

Если вы показываете, что модель нашего продукта является линейной, почему это важно?

  • Если модель «Поиск решения» является линейной и выбран вариант «Предположим, линейный режим», «Поиск решения» гарантирован, что будет найдено оптимальное решение для модели «Поиск решения». Если модель «Поиск решения» не линейный, «Поиск решения» может не найти оптимальное решение.

  • Если модель «Поиск решения» является линейной и выбран вариант «Предполагаемая линейная модель», то для поиска оптимального решения модели используется очень эффективный алгоритм (метод простого решения). Если модель «Поиск решения» является линейной и не выбран вариант «Предполагаемая линейная модель», «Поиск решения» использует очень неэффективный алгоритм (метод ОГР2), что может затруднить поиск оптимального решения модели.

После нажатия кнопки «ОК» в диалоговом окне «Параметры решения» вернимся в главное диалоговое окно «Решение», показанное ранее на рисунке 27–7. При нажатии кнопки «Поиск решения» «Поиск решения» вычисляет оптимальное решение (если оно существует) для модели микса продуктов. Как было сказано в главе 26, оптимальным решением для модели набора продуктов является набор изменяемых значений ячеок (фунта, произведенного каждым продуктом), который позволяет максимально увеличить прибыль в наборе всех возможных решений. В этом же, целесообразное решение — это набор изменяющихся значений ячеок, удовлетворяющий всем ограничениям. Изменяющиеся значения ячеок, показанные на рисунке 27–9, являются допустимым решением, поскольку все производственные уровни неоценимы, производственные уровни не превышают потребность, а использование ресурсов не превышает доступных ресурсов.

Изображение книги

Изменяемые значения ячеек, показанные на рисунке 27–10 на следующей странице, являются неизменяемым решением по следующим причинам:

  • Мы выпускаем больше 5, чем за него требуются.

  • Мы используем больше трудоемких ресурсов, чем доступно.

  • Мы используем больше необработанных материалов, чем доступно.

Изображение книги

Нажав кнопку «Поиск решения», «Поиск решения» быстро найдет оптимальное решение, показанное на рисунке 27–11. Вам нужно выбрать «Сохранить решение для решения проблемы», чтобы сохранить оптимальные значения решения на работе.

Изображение книги

Наша организация, которая занимается наркотиками, может увеличить ежемесячную прибыль в размере 6 625,20 долларов США, выполив 596,67 фунта 4, 1084 фунта для подавлили 5 рублей и ни одного другого фунта! Мы не можем определить, можно ли достичь максимальной прибыли в 6 625,20 долларов США другими способами. Все, что мы можем быть уверены, что из-за ограниченных ресурсов и требований в этом месяце нельзя внести больше 6 627,20 долларов США.

Предположим, что потребность в каждом продукте должна быть выполнены. (См. таблицу «Нет реального решения» в Prodmix.xlsx.) Затем нам нужно изменить ограничения по запросу с D2:I2<=D8:I8 на D2:I2>=D8:I8. Для этого откройте «Решение», выберите ограничение D2:I2<=D8:I8 и нажмите кнопку «Изменить». Появится диалоговое окно «Изменение ограничения», показанное на рисунке 27–12.

Изображение книги

Выберите >=, а затем нажмите кнопку «ОК». Теперь над решением можно изменить только значения ячеок, которые соответствуют всем запросам. При нажатии кнопки «Найти решение» отобразилось сообщение «Поиск решения не удалось найти целесообразное решение». Это сообщение не означает, что мы допустили ошибку в модели, а о том, что из-за ограниченных ресурсов мы не сможем выполнить потребность во всех товарах. Надстройка «Решение» просто сообщает нам, что если мы хотим удовлетворить потребность в каждом продукте, нам нужно добавить больше труда, дополнительных необработанных материалов или и тех, и других.

Давайте посмотрим, что произойдет, если разрешить неограниченную потребность в каждом продукте и разрешить отрицательные количества каждого товара. (Эта проблема возникает в области «Набор значений не сходится» на Prodmix.xlsx.) Чтобы найти оптимальное решение в этой ситуации, откройте «Поиск решения», нажмите кнопку «Параметры» и откроем поле «Неохритимые». В диалоговом окне «Параметры решения» выберите ограничение запроса D2:I2<=D8:I8, а затем нажмите кнопку «Удалить», чтобы удалить это ограничение. При нажатии кнопки «Найти решение» возвращается сообщение «Установить значение ячейки не сходится». Это сообщение означает, что если нужно развернуть целевую ячейку (как в нашем примере), существуют допустимые решения, в том числе и для суммарных значений целевых ячеок. (Если целевая ячейка должна быть свернута, сообщение «Установить значения ячейки не сходятся» означает, что существуют возможные решения с небольших целевых значений, заверяемого в третейском деле.) В нашем случае, разрешив негативное производство в случае злоупотреблений, мы фактически создадим ресурсы, которые можно использовать для вывода в произвольное количество других средств. С учетом нашего неограниченного запроса это позволяет нам получать неограниченную прибыль. В реальной ситуации мы не можем заработать бесконечно. Если вы видите сообщение «Установить значения не сходятся», это означает, что в модели есть ошибка.

  1. Предположим, в нашей компании в течение часа можно приобретать до 500 часов работы на 100 рублей больше, чем за текущие трудоемкие расходы. Как максимально увеличить прибыль?

  2. На изготовителе микросхем четыре технических специалиста (A, B, C и D) выпускают три продукта («Товары 1», «2» и «3»). В этом месяце изготовитель микросхемы может продать 80 единиц продукта 1, 50 единиц продукта 2 и не более 50 единиц продукта 3. Специалист А может делать только продукты 1 и 3. Специалист Б может делать только продукты 1 и 2. Специалист C может сделать только продукт 3. Специалист D может сделать только продукт 2. Для каждого произведенного товара внести следующую прибыль: Товар 1; 600 рублей; Товар 2; 7000 рублей; и товар 3, 1000 рублей. Время (в часах) каждого технических специалиста, необходимое для производства продукта, должно быть следующим:

    Продукт

    Специалист А

    Специалист Б

    Специалист C

    Специалист Д

    1

    2

    2,5

    Не удается сделать

    Не удается сделать

    2

    Не удается сделать

    3

    Не удается сделать

    3,5

    3

    3

    Не удается сделать

    4

    Не удается сделать

  3. Каждый специалист может работать до 120 часов в месяц. Как изготовитель микросхем может максимально увеличить ежемесячную прибыль? Предположим, что можно получить лишь дробное количество единиц.

  4. Компьютерный завод производит мыши, клавиатуры и игровые joysticks. Доход за единицу, за единицу трудоемких ресурсов, ежемесячная потребность и за единицу машинного времени даются в следующей таблице:

    Мыши

    Клавиатуры

    Joysticks

    Прибыль/единица

    8 $

    11 $

    9 $

    Использование трудов и единицы

    0,2 часа

    0,3 часа

    0,24 часа

    Машинное время/единица

    0,04 ч

    0,055 ч.

    0,04 ч

    Ежемесячный запрос

    15 000

    27,000

    11,000

  5. Каждый месяц доступно 13 000 часов труда и 3000 часов машинного времени. Как изготовитель может максимально увеличить ежемесячный взнос в прибыль от растения?

  6. Допустим, необходимо устранить проблему с этой проблемой при условии, что должны быть выполнены минимальные требования к 200 единицам для каждого из них.

  7. Он делает ромбовидные ромбои, окаймлы и затейные. Он хочет работать не более 160 часов в месяц. У него 800 ромбов. Ниже дается прибыль, время труда и количество ромбов, необходимых для получения каждого товара. Если потребность в каждом продукте не ограничена, как Максим может увеличить прибыль?

    Продукт

    Прибыль за единицу

    Трудоемкие часы на единицу

    Ромбы на единицу

    Лексема

    300р.

    .35

    1,2

    Кулигов

    200 ₽

    .15

    .75

    Кулигов

    100р.

    0,05

    .5

Пользователи Excel давно и успешно применяют программу для решения различных типов задач в разных областях.

Excel – это самая популярная программа в каждом офисе во всем мире. Ее возможности позволяют быстро находить эффективные решения в самых разных сферах деятельности. Программа способна решать различного рода задачи: финансовые, экономические, математические, логические, оптимизационные и многие другие. Для наглядности мы каждое из выше описанных решение задач в Excel и примеры его выполнения.

Решение задач оптимизации в Excel

Оптимизационные модели применяются в экономической и технической сфере. Их цель – подобрать сбалансированное решение, оптимальное в конкретных условиях (количество продаж для получения определенной выручки, лучшее меню, число рейсов и т.п.).

В Excel для решения задач оптимизации используются следующие команды:

Для решения простейших задач применяется команда «Подбор параметра». Самых сложных – «Диспетчер сценариев». Рассмотрим пример решения оптимизационной задачи с помощью надстройки «Поиск решения».

Условие. Фирма производит несколько сортов йогурта. Условно – «1», «2» и «3». Реализовав 100 баночек йогурта «1», предприятие получает 200 рублей. «2» — 250 рублей. «3» — 300 рублей. Сбыт, налажен, но количество имеющегося сырья ограничено. Нужно найти, какой йогурт и в каком объеме необходимо делать, чтобы получить максимальный доход от продаж.

Известные данные (в т.ч. нормы расхода сырья) занесем в таблицу:

Известные данные.

На основании этих данных составим рабочую таблицу:

Рабочая таблица.

  1. Количество изделий нам пока неизвестно. Это переменные.
  2. В столбец «Прибыль» внесены формулы: =200*B11, =250*В12, =300*В13.
  3. Расход сырья ограничен (это ограничения). В ячейки внесены формулы: =16*B11+13*B12+10*B13 («молоко»); =3*B11+3*B12+3*B13 («закваска»); =0*B11+5*B12+3*B13 («амортизатор») и =0*B11+8*B12+6*B13 («сахар»). То есть мы норму расхода умножили на количество.
  4. Цель – найти максимально возможную прибыль. Это ячейка С14.

Активизируем команду «Поиск решения» и вносим параметры.

Параметры настройки.

После нажатия кнопки «Выполнить» программа выдает свое решение.

Результат решения.

Оптимальный вариант – сконцентрироваться на выпуске йогурта «3» и «1». Йогурт «2» производить не стоит.



Решение финансовых задач в Excel

Чаще всего для этой цели применяются финансовые функции. Рассмотрим пример.

Условие. Рассчитать, какую сумму положить на вклад, чтобы через четыре года образовалось 400 000 рублей. Процентная ставка – 20% годовых. Проценты начисляются ежеквартально.

Оформим исходные данные в виде таблицы:

Исходные данные.

Так как процентная ставка не меняется в течение всего периода, используем функцию ПС (СТАВКА, КПЕР, ПЛТ, БС, ТИП).

Заполнение аргументов:

  1. Ставка – 20%/4, т.к. проценты начисляются ежеквартально.
  2. Кпер – 4*4 (общий срок вклада * число периодов начисления в год).
  3. Плт – 0. Ничего не пишем, т.к. депозит пополняться не будет.
  4. Тип – 0.
  5. БС – сумма, которую мы хотим получить в конце срока вклада.

Параметры функции БС.

Вкладчику необходимо вложить эти деньги, поэтому результат отрицательный.

Результат функции БС.

Для проверки правильности решения воспользуемся формулой: ПС = БС / (1 + ставка)кпер. Подставим значения: ПС = 400 000 / (1 + 0,05)16 = 183245.

Решение эконометрики в Excel

Для установления количественных и качественных взаимосвязей применяются математические и статистические методы и модели.

Дано 2 диапазона значений:

Диапазон значений.

Значения Х будут играть роль факторного признака, Y – результативного. Задача – найти коэффициент корреляции.

Для решения этой задачи предусмотрена функция КОРРЕЛ (массив 1; массив 2).

Функция КОРРЕЛ.

Решение логических задач в Excel

В табличном процессоре есть встроенные логические функции. Любая из них должна содержать хотя бы один оператор сравнения, который определит отношение между элементами (=, >, <, >=, <=). Результат логического выражения – логическое значение ИСТИНА или логическое значение ЛОЖЬ.

Пример задачи. Ученики сдавали зачет. Каждый из них получил отметку. Если больше 4 баллов – зачет сдан. Менее – не сдан.

Пример задачи.

  1. Ставим курсор в ячейку С1. Нажимаем значок функций. Выбираем «ЕСЛИ».
  2. Заполняем аргументы. Логическое выражение – B1>=4. Это условие, при котором логическое значение – ИСТИНА.
  3. Если ИСТИНА – «Зачет сдал». ЛОЖЬ – «Зачет не сдал».

Решение задачи.

Решение математических задач в Excel

Средствами программы можно решать как простейшие математические задачки, так и более сложные (операции с функциями, матрицами, линейными уравнениями и т.п.).

Условие учебной задачи. Найти обратную матрицу В для матрицы А.

  1. Делаем таблицу со значениями матрицы А.
  2. Выделяем на этом же листе область для обратной матрицы.
  3. Нажимаем кнопку «Вставить функцию». Категория – «Математические». Тип – «МОБР».
  4. В поле аргумента «Массив» вписываем диапазон матрицы А.
  5. Нажимаем одновременно Shift+Ctrl+Enter — это обязательное условие для ввода массивов.

Результат выполнения массива.

Скачать примеры

Возможности Excel не безграничны. Но множество задач программе «под силу». Тем более здесь не описаны возможности которые можно расширить с помощью макросов и пользовательских настроек.

«Поиск решений» — функция Excel, которую используют для оптимизации параметров: прибыли, плана продаж, схемы доставки грузов, маркетингового бюджета или рентабельности. Она помогает составить расписание сотрудников, распределить расходы в бизнес-плане или инвестиционные вложения. Знание этой функции экономит много времени и сил. Рассказываем, как освоить функцию поиска решений.


Основные параметры поиска решений

Найти решение задачи можно тремя способами. Во-первых, вручную перебирать параметры, пока не найдется оптимальное соотношение. Во-вторых, составить уравнение с большим количеством неизвестных. В-третьих, вбить данные в Excel и использовать «Поиск решений». Последний способ самый быстрый и покажет максимально точное решение, если знать, как использовать функцию.

Итак, мы решаем задачу с помощью поиска решений в Excel и начинаем с математической модели. В ней четыре типа данных: константы, изменяемые ячейки, целевая функция и ограничения. К поиску решения вернемся чуть позже, а сейчас разберемся, что входит в каждый из этих типов:

Константы — исходная информация. К ней относится удельная маржинальная прибыль, стоимость каждой перевозки, нормы расхода товарно-материальных ценностей. В нашем случае — производительность работников, их оплата и норма в 1000 изделий. Также константа отражает ограничения и условия математической модели: например, только неотрицательные или целые значения. Мы вносим константы в таблицу цифрами или с помощью элементарных формул (СУММ, СРЗНАЧ).

Изменяемые ячейки — переменные, которые в итоге нужно найти. В задаче это распределение 1000 изделий между работниками с минимальными затратами. В разных случаях бывает одна изменяемая ячейка или диапазон. При заполнении функции «Поиск решений» важно оставить ячейки пустыми — программа сама найдет значения.

Целевая функция — результирующий показатель, для которого Excel подбирает наилучшие показатели. Чтобы программа понимала, какие данные наилучшие, мы задаем функцию в виде формулы. Эту формулу мы отображаем в отдельной ячейке. Результирующий показатель может принимать максимальное или минимальное значения, а также быть конкретным числом. 

Ограничения — условия, которые необходимо учесть при оптимизации функции, называющейся целевой. К ним относятся размеры инвестирования, срок реализации проекта или объем покупательского спроса. В нашем случае — количество дней и число работников. 

Пример использования поиска решений

Теперь перейдем к самой функции. 

1) Чтобы включить «Поиск решений», выполните следующие шаги:

  • нажмите «Параметры Excel», а затем выберите категорию «Надстройки»;
  • в поле «Управление» выберите значение «Надстройки Excel» и нажмите кнопку «Перейти»;
  • в поле «Доступные надстройки» установите флажок рядом с пунктом «Поиск решения» и нажмите кнопку ОК.

2019-08-06 18.58.30.jpg

2019-08-06 18.58.37.jpg

2) Теперь упорядочим данные в виде таблицы, отражающей связи между ячейками. Советуем использовать цветовые обозначения: на примере красным выделена целевая функция, бежевым — ограничения, а желтым — изменяемые ячейки.

tg_image_2790408830.jpeg

Не забудьте ввести формулы. Стоимость заказа рассчитывается как «Оплата труда за 1 изделие» умножить на «Число заготовок, передаваемых в работу». Для того, чтобы узнать «Время на выполнение заказа», нужно «Число заготовок, передаваемых в работу» разделить на «Производительность».

tg_image_954796317.jpeg
tg_image_2790408830.jpeg

tg_image_4145344377.jpeg

3) Выделите целевую ячейку, которая должна показать максимум, минимум или определенное значение при заданных условиях. Для этого на панели нажмите  «Данные» и выберете функцию «Поиск решений» (обычно она в верхнем правом углу).

tg_image_2089575366.jpeg

4) Заполните параметры «Поиска решений» и нажмите «Найти решение». 

Совокупная стоимость 1000 изделий рассчитывается как сумма стоимостей количества изделий от каждого работника. Данная ячейка (Е13) — это целевая функция. D9:D12 — изменяемые ячейки. «Поиск решений» определяет их оптимальные значения, чтобы целевая функция достигла минимума при заданных ограничениях.

В нашем примере следующие ограничения: 

  • общее количество изделий 1000 штук ($D$13 = $D$3); 
  • число заготовок, передаваемых в работу — целое и больше нуля либо равно нулю ($D$9:$D$12 = целое, $D$9:$D$12 > = 0); 
  • количество дней меньше либо равно 30 ($F$9:$F$12 < = $D$6, либо как в примере в ячейке F13 задать функцию МАКС(F9:F12) и поставить ограничение $F$13 < = $D$6).

tg_image_1670540083.jpeg
tg_image_1428577646.jpeg

tg_image_2951437605.jpeg

5) В конце проверьте полученные данные на соответствие заданному целевому значению. Если что-то не сходится — нужно пересмотреть исходные данные, введенные формулы и ограничения.

tg_image_1895334008.jpeg

Хотите научиться решать задачи в Excel, как это делают в компаниях-лидерах? Приходите на наш онлайн-курс, на котором вы освоите этот инструмент на уровне профи. Вашими преподавателями будут эксперты-практики, а после обучения вы сможете дополнить резюме весомой строчкой. Регистрируйтесь!

Задачи линейного программирования относятся к широко распространённому классу задач, встречающихся в различных сферах деятельности: в бизнесе, на производстве, в быту. Как оптимально распорядиться бюджетом или за минимальное время добраться до нужного места в городе, как наилучшим образом спланировать деловые встречи, минимизировать риски капитальных вложений, определить оптимальные запасы сырья на складе – это те задачи, в которых нужно найти наилучшее из всех возможных решений.

Если что-то непонятно — вы всегда можете написать мне в WhatsApp и я вам помогу!

Линейное программирование

Линейное программирование – это раздел математики, занимающийся разработкой методов отыскания экстремальных значений функции, на аргументы которой наложены ограничения. Слово «программирование» заимствовано из зарубежной литературы, где оно используется в смысле «планирование».

Решение задач линейного программирования с использованием microsoft excel

Цель работы

Приобретение навыков решения задач линейного программирования (ЛП) в табличном редакторе Microsoft Excel.

Порядок выполнения работы

Для модели линейного программирования, соответствующей номеру Вашего варианта, найдите оптимальное решение в табличном редакторе Microsoft Excel и продемонстрируйте его преподавателю.

Инструкция по использованию microsoft excel для решения задач линейного программирования

Для того чтобы решить задачу линейного программирования в табличном редакторе Microsoft Excel, необходимо выполнить следующие действия.

Ввести условие задачи:

a) создать экранную форму для ввода условия задачи:

  • переменных,
  • целевой функции (ЦФ),
  • ограничений,
  • граничных условий;

b) ввести исходные данные в экранную форму:

  • коэффициенты ЦФ,
  • коэффициенты при переменных в ограничениях,
  • правые части ограничений;

c) ввести зависимости из математической модели в экранную форму:

  • формулу для расчета ЦФ,
  • формулы для расчета значений левых частей ограничений;

d) задать ЦФ (в окне «Поиск решения»):

  • целевую ячейку,
  • направление оптимизации ЦФ;

e) ввести ограничения и граничные условия (в окне «Поиск решения»):

  • ячейки со значениями переменных,
  • граничные условия для допустимых значений переменных,
  • соотношения между правыми и левыми частями ограничений.

Решить задачу:

a) установить параметры решения задачи (в окне «Поиск решения»);

b) запустить задачу на решение (в окне «Поиск решения»);

с) выбрать формат вывода решения (в окне «Результаты поиска решения»).

Возможно эта страница вам будет полезна:

Одноиндексные задачи линейного программирования

Рассмотрим пример нахождения решения для следующей одноиндексной задачи ЛП:

Линейное программирование в Excel задачи с решением

Ввод исходных данных

Создание экранной формы и ввод в нее условия задачи

Экранная форма для ввода условий задачи (1.1) вместе с введенными в нее исходными данными представлена на рис. 1.1.

Линейное программирование в Excel задачи с решением

В экранной форме на рис. 1.1 каждой переменной и каждому коэффициенту задачи поставлена в соответствие конкретная ячейка в Excel. Имя ячейки состоит из буквы, обозначающей столбец, и цифры, обозначающей строку, на пересечении которых находится объект задачи линейного программирования. Так, например, переменным задачи (1.1) соответствуют ячейки Линейное программирование в Excel задачи с решениемЛинейное программирование в Excel задачи с решением, коэффициентам ЦФ соответствуют ячейки

Линейное программирование в Excel задачи с решением
Линейное программирование в Excel задачи с решением

правым частям ограничений соответствуют ячейки

Линейное программирование в Excel задачи с решением

Ввод зависимостей из математической модели в экранную форму

Зависимость для ЦФ

В ячейку F6, в которой будет отображаться значение ЦФ, необходимо ввести формулу, по которой это значение будет рассчитано. Согласно (1.1) значение ЦФ определяется выражением

Линейное программирование в Excel задачи с решением

Используя обозначения соответствующих ячеек в Excel (см. рис. 1.1), формулу для расчета ЦФ (1.2) можно записать как сумму произведений каждой из ячеек, отведенных для значений переменных задачи (ВЗ, СЗ, D3, ЕЗ), на соответствующую ячейку, отведенную для коэффициентов ЦФ (В6, С6, D6, Е6), то есть

Линейное программирование в Excel задачи с решением

Чтобы задать формулу (1.3) необходимо в ячейку F6 ввести следующее выражение и нажать клавишу «Enter»

Линейное программирование в Excel задачи с решением

где символ $ перед номером строки 3 означает, что при копировании этой формулы в другие места листа Excel номер строки 3 не изменится;

символ : означает, что в формуле будут использованы все ячейки, расположенные между ячейками, указанными слева и справа от двоеточия (например, запись В6:Е6 указывает на ячейки В6, С6, D6 и Е6). После этого в целевой ячейке появится 0 (нулевое значение) (рис. 1.2).

Линейное программирование в Excel задачи с решением

Примечание 1.1. Существует другой способ задания функций в Excel с помощью режима «Вставка функций», который можно вызвать из меню «Вставка» или при нажатии кнопки «Линейное программирование в Excel задачи с решением» на стандартной панели инструментов. Так, например, формулу (1.4) можно задать следующим образом:

• курсор в поле F6;

• нажав кнопку «Линейное программирование в Excel задачи с решением«, вызовите окно «Мастер функций — шаг 1 из 2»;

• выберите в окне «Категория» категорию «Математические»;

• в окне «Функция» выберите функцию СУММПРОИЗВ;

• в появившемся окне «СУММПРОИЗВ» в строку «Массив 1» введите выражение В$3:Е$3, а в строку «Массив 2» — выражение В6:Е6 (рис. 1.3);

• после ввода ячеек в строки «Массив 1» и «Массив 2» в окне «СУММПРОИЗВ» появятся числовые значения введенных массивов (см. рис. 1.3), а в экранной форме в ячейке F6 появится текущее значение, вычисленное по введенной формуле, то есть 0 (так как в момент ввода формулы значения переменных задачи нулевые).

Линейное программирование в Excel задачи с решением

Зависимости для левых частей ограничений

Левые части ограничений задачи (1.1) представляют собой сумму произведений каждой из ячеек, отведенных для значений переменных задачи (ВЗ, СЗ, D3, ЕЗ), на соответствующую ячейку, отведенную для коэффициентов конкретного ограничения (В 10, СЮ, D10, ЕЮ — 1-е ограничение; В11, С11, D11, El 1 — 2-е ограничение и В12, С12, D12, Е12 — 3-е ограничение). Формулы, соответствующие левым частям ограничений, представлены в табл. 1.1.

Линейное программирование в Excel задачи с решением

Как видно из табл. 1.1, формулы, задающие левые части ограничений задачи (1.1), отличаются друг от друга и от формулы (1.4) в целевой ячейке F6 только номером строки во втором массиве. Этот номер определяется той строкой, в которой ограничение записано в экранной форме. Поэтому для задания зависимостей для левых частей ограничений достаточно скопировать формулу из целевой ячейки в ячейки левых частей ограничений. Для этого необходимо:

• поместить курсор в поле целевой ячейки F6 и скопировать в буфер содержимое ячейки F6 (клавишами «Ctrl-Insert»);

• помещать курсор поочередно в поля левой части каждого из ограничений, то есть в F10, F11 и F12, и вставлять в эти поля содержимое буфера (клавишами «Shift-Insert») (при этом номер ячеек во втором массиве формулы будет меняться на номер той строки, в которую была произведена вставка из буфера);

• на экране в полях F10, F11 и F12 появится 0 (нулевое значение) (см. рис. 1.2).

Проверка правильности введения формул

Для проверки правильности введенных формул производите поочередно двойное нажатие левой клавиши мыши на ячейки с формулами. При этом на экране рамкой будут выделяться ячейки, используемые в формуле (рис. 1.4 и 1.5).

Линейное программирование в Excel задачи с решением

Задание ЦФ

Дальнейшие действия производятся в окне «Поиск решения», которое вызывается из меню «Сервис» (рис. 1.6):

• поставьте курсор в поле «Установить целевую ячейку»;

• введите адрес целевой ячейки $F$6 или сделайте одно нажатие левой клавиши мыши на целевую ячейку в экранной форме — это будет равносильно вводу адреса с клавиатуры;

• введите направление оптимизации ЦФ, щелкнув один раз левой клавишей мыши по селекторной кнопке «максимальному значению».

Линейное программирование в Excel задачи с решением

Ввод ограничений и граничных условий

Задание ячеек переменных

В окно «Поиск решения» в поле «Изменяя ячейки» впишите адреса $BS3:$E$3. Необходимые адреса можно вносить в поле «Изменяя ячейки» и автоматически путем выделения мышью соответствующих ячеек переменных непосредственно в экранной форме.

Задание граничных условий для допустимых значений переменных

В нашем случае на значения переменных накладывается только граничное условие неотрицательности, то есть их нижняя граница должна быть равна нулю (см. рис. 1.1).

• Нажмите кнопку «Добавить», после чего появится окно «Добавление ограничения» (рис. 1.7).

• В поле «Ссылка на ячейку» введите адреса ячеек переменных $BS3:$E$3. Это можно сделать как с клавиатуры, так и путем выделения мышью всех ячеек переменных непосредственно в экранной форме.

• В поле знака откройте список предлагаемых знаков и выберите >.

• В поле «Ограничение» введите адреса ячеек нижней границы значений переменных, то есть $В$4:$Е$4. Их также можно ввести путем выделения мышью непосредственно в экранной форме.

Линейное программирование в Excel задачи с решением

Задание знаков ограничений <. >, =

• Нажмите кнопку «Добавить» в окне «Добавление ограничения».

• В поле «Ссылка на ячейку» введите адрес ячейки левой части конкретного ограничения, например $F$10. Это можно сделать как с клавиатуры, так и путем выделения мышью нужной ячейки непосредственно в экранной форме.

• В соответствии с условием задачи (1.1) выбрать в поле знака необходимый знак, например =.

• В поле «Ограничение» введите адрес ячейки правой части рассматриваемого ограничения, например $Н$10.

• Аналогично введите ограничения: $F$11>=$Н$11, $F$12<=$H$12.

• Подтвердите ввод всех перечисленных выше условий нажатием кнопки ОК.

Окно «Поиск решения» после ввода всех необходимых данных задачи (1.1) представлено на рис. 1.6.

Если при вводе условия задачи возникает необходимость в изменении или удалении внесенных ограничений или граничных условий, то это делают, нажав кнопки «Изменить» или «Удалить» (см. рис. 1.6).

Решение задачи

Установка параметров решения задачи

Задача запускается на решение в окне «Поиск решения». Но предварительно для установления конкретных параметров решения задач оптимизации определенного класса необходимо нажать кнопку «Параметры» и заполнить некоторые поля окна «Параметры поиска решения» (рис. 1.8).

Линейное программирование в Excel задачи с решением

Параметр «Максимальное время» служит для назначения времени (в секундах), выделяемого на решение задачи. В поле можно ввести время, не превышающее 32 767 секунд (более 9 часов).

Параметр «Предельное число итераций» служит для управления временем решения задачи путем ограничения числа промежуточных вычислений. В поле можно ввести количество итераций, не превышающее 32 767.

Параметр «Относительная погрешность» служит для задания точности, с которой определяется соответствие ячейки целевому значению или приближение к указанным границам. Поле должно содержать число из интервала от 0 до 1. Чем меньше количество десятичных знаков во введенном числе, тем ниже точность. Высокая точность увеличит время, которое требуется для того, чтобы сошелся процесс оптимизации.

Параметр «Допустимое отклонение» служит для задания допуска на отклонение от оптимального решения в целочисленных задачах. При указании большего допуска поиск решения заканчивается быстрее.

Параметр «Сходимость» применяется только при решении нелинейных задач.

Установка флажка «Линейная модель» обеспечивает ускорение поиска решения линейной задачи за счет применение симплекс-метода.

Подтвердите установленные параметры нажатием кнопки «ОК».

Запуск задачи на решение

Запуск задачи на решение производится из окна «Поиск решения» путем нажатия кнопки «Выполнить».

После запуска на решение задачи линейного программирования на экране появляется окно «Результаты поиска решения» с одним из сообщений, представленных на рис. 1.9, 1.10 и 1.11.

Линейное программирование в Excel задачи с решением

Иногда сообщения, представленные на рис. 1.10 и 1.11, свидетельствуют не о характере оптимального решения задачи, а о том, что при вводе условий задачи в Excel были допущены ошибки, не позволяющие Excel найти оптимальное решение, которое в действительности существует (см. ниже подразд.1.3.5).

Если при заполнении полей окна «Поиск решения» были допущены ошибки, не позволяющие Excel применить симплекс-метод для решения задачи или довести ее решение до конца, то после запуска задачи на решение на экран будет выдано соответствующее сообщение с указанием причины, по которой решение не найдено. Иногда слишком малое значение параметра «Относительная погрешность» не позволяет найти оптимальное решение. Для исправления этой ситуации увеличивайте погрешность поразрядно, например от 0,000001 до 0,00001 и т.д.

В окне «Результаты поиска решения» представлены названия трех типов отчетов: «Результаты», «Устойчивость», «Пределы». Они необходимы при анализе полученного решения на чувствительность (см. ниже подразд.3.3). Для получения же ответа (значений переменных, ЦФ и левых частей ограничений) прямо в экранной форме просто нажмите кнопку «ОК». После этого в экранной форме появляется оптимальное решение задачи (рис. 1.12).

Линейное программирование в Excel задачи с решением

Целочисленное программирование

Допустим, что к условию задачи (1.1) добавилось требование целочисленности значений всех переменных. В этом случае описанный выше процесс ввода условия задачи необходимо дополнить следующими шагами.

• В экранной форме укажите, на какие переменные накладывается требование целочисленности (этот шаг делается для наглядности восприятия условия задачи) (рис. 1.13).

• В окне «Поиск решения» (меню «Сервис»—>»Поиск решения»), нажмите кнопку «Добавить» и в появившемся окне «Добавление ограничений» введите ограничения следующим образом (рис.1.14):

  • в поле «Ссылка на ячейку» введите адреса ячеек переменных задачи, то есть $В$3:$Е$3;
  • в поле ввода знака ограничения установите «целое»;
  • подтвердите ввод ограничения нажатием кнопки «ОК».
Линейное программирование в Excel задачи с решением

На рис. 1.13 представлено решение задачи (1.1), к ограничениям которой добавлено условие целочисленности значений ее переменных.

Двухиндексные задачи линейного программирования

Двухиндексные задачи линейного программирования вводятся и решаются в Excel аналогично одноиндексным задачам. Специфика ввода условия двухиндексной задачи ЛП состоит лишь в удобстве матричного задания переменных задачи и коэффициентов ЦФ.

Рассмотрим решение двухиндексной задачи, суть которой заключается в оптимальной организации транспортных перевозок штучного товара со складов в магазины (табл. 1.2).

Линейное программирование в Excel задачи с решением

Целевая функция и ограничения данной задачи имеют вид

Линейное программирование в Excel задачи с решением

Экранные формы, задание переменных, целевой функции, ограничений и граничных условий двухиндексной задачи (1.5) и ее решение представлены на рис. 1.15, 1.16, 1.17 и в табл. 1.3.

Линейное программирование в Excel задачи с решением

Линейное программирование в Excel задачи с решением

Линейное программирование в Excel задачи с решением

Задачи с булевыми переменными

Частным случаем задач с целочисленными переменными являются задачи, в результате решения которых искомые переменные Линейное программирование в Excel задачи с решением могут принимать только одно из двух значений: 0 или 1. Такие переменные в честь предложившего их английского математика Джорджа Буля называют булевыми. На рис. 1.18 представлена экранная форма с решением некоторой двухиндексной задачи с булевыми переменными.

Линейное программирование в Excel задачи с решением

Рис. 1.18. Решение двухиндексной задачи с булевыми переменными

Помимо задания требования целочисленности (см. подразд.1.3.2) при вводе условия задач с булевыми переменными необходимо:

• для наглядности восприятия ввести в экранную форму слово «булевы» в качестве характеристики переменных (см. рис. 1.18);

• в окне «Поиск решения» добавить граничные условия, имеющие смысл ограничения значений переменных по их единичной верхней границе (рис. 1.19).

Линейное программирование в Excel задачи с решением

Вид окна «Поиск решения» для задачи с булевыми переменными, представленной на рис. 1.18, приведен на рис. 1.20.

Линейное программирование в Excel задачи с решением

Возможные ошибки при вводе условий задач линейного программирования

Если при решении задачи линейного программирования выдается сообщение о невозможности нахождения решения, то возможно, что причина заключается в ошибках ввода условия задачи в Excel.

Как решить задачу линейного программирования в excel

Цель работы

Приобретение навыков решения задач линейного программирования (ЗЛП) в табличном редакторе Microsoft Excel. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

Для модели линейного программирования, соответствующей номеру Вашего варианта, найдите оптимальное решение в табличном редакторе Microsoft Excel и продемонстрируйте его преподавателю.

Инструкция по использованию microsoft excel для решения задач линейного программирования

Для того чтобы решить ЗЛП в табличном редакторе Microsoft Excel, необходимо выполнить следующие действия. 1. Ввести условие задачи:

a) создать экранную форму для ввода условия задачи:

  • • переменных,
  • • целевой функции (ЦФ),
  • • ограничений,
  • • граничных условий;

b) ввести исходные данные в экранную форму:

  • • коэффициенты ЦФ,
  • • коэффициенты при переменных в ограничениях,
  • • правые части ограничений;

c) ввести зависимости из математической модели в экранную форму:

  • • формулу для расчета ЦФ,
  • • формулы для расчета значений левых частей ограничений; с!) задать ЦФ (в окне «Поиск решения»):
  • • целевую ячейку,
  • • направление оптимизации ЦФ;

е) ввести ограничения и граничные условия (в окне «Поиск решения»):

  • • ячейки со значениями переменных,
  • • граничные условия для допустимых значений переменных,
  • • соотношения между правыми и левыми частями ограничений. 2. Решить задачу:

a)установить параметры решения задачи (в окне «Поиск решения»,);

b) запустить задачу на решение (в окне «Поиск решения»,);

c) выбрать формат вывода решения (в окне «Результаты поиска решения»).

Одноиндексные ЗЛП

Рассмотрим пример нахождения решения для следующей одноиндексной ЗЛП:

Линейное программирование в Excel задачи с решением
  • Ввод исходных данных

Создание экранной формы и ввод в нее условия задачи

Экранная форма для ввода условий задачи (1) вместе с введенными в нее исходными данными представлена на рис.1.

Линейное программирование в Excel задачи с решением

В экранной форме на рис. 1 каждой переменной и каждому коэффициенту задачи поставлена в соответствие конкретная ячейка в Excel. Так, например, переменным задачи (1) соответствуют ячейки

Линейное программирование в Excel задачи с решением

коэффициентам ЦФ соответствуют ячейки

Линейное программирование в Excel задачи с решением
Линейное программирование в Excel задачи с решением

правым частям ограничений соответствуют ячейки

Линейное программирование в Excel задачи с решением

Линейное программирование в Excel задачи с решением
  • Ввод зависимостей из математической модели в экранную форму

Зависимость для ЦФ.

В ячейку F6, в которой будет отображаться значение ЦФ, необходимо ввести формулу, по которой это значение будет рассчитано. Согласно (1 (значение ЦФ определяется выражением

Линейное программирование в Excel задачи с решением

Используя обозначения соответствующих ячеек в Excel (см. рис. 1), формулу для расчета ЦФ (2) можно записать как сумму произведений каждой из ячеек, отведенных для значений переменных задачи (ВЗ, СЗ, D3, ЕЗ), на соответствующую ячейку, отведенную для коэффициентов ЦФ (В6, С6, D6,E6):

Линейное программирование в Excel задачи с решением

После этого в целевой ячейке появится 0 (нулевое значение) (рис. 2).

Линейное программирование в Excel задачи с решением

Зависимости для левых частей ограничений

Левые части ограничений задачи (1) представляют собой сумму произведений каждой из ячеек, отведенных для значений переменных задачи(ВЗ, СЗ, D3, ЕЗ), на соответствующую ячейку, отведенную для коэффициентов конкретного ограничения (B10, С10, D10, Е10 — 1-е ограничение; В11, C11,D11, Е11 — 2-е ограничение и В12, С12, D12, Е12 — 3-е ограничение). Формулы, соответствующие левым частям ограничений, записать самостоятельно. Проверка правильности введения формул

Для проверки правильности введенных формул производите поочередно двойное нажатие левой клавиши мыши на ячейки с формулами. При этом на экране рамкой будут выделяться ячейки, используемые в формуле. Дальнейшие действия производятся в окне «Поиск решения», которое вызывается из меню «Сервис». Решение задачи

Установка параметров решения задачи

Задача запускается на решение в окне «Поиск решения». Но предварительно для установления конкретных параметров решения задач оптимизации определенного класса необходимо нажать кнопку «Параметры»и заполнить некоторые поля окна «Параметры поиска решения».

Параметр «Максимальное время» служит для назначения времени (в секундах), выделяемого на решение задачи. В поле можно ввести время, не превышающее 32 767 секунд (более 9 часов).

Параметр «Предельное число итераций» служит для управления временем решения задачи путем ограничения числа промежуточных вычислений. В поле можно ввести количество итераций, не превышающее32 767. Параметр «Относительная погрешность» служит для задания точности, с которой определяется соответствие ячейки целевому значению или приближение к указанным границам. Поле должно содержать число из интервала от 0 до 1. Чем меньше количество десятичных знаков во введенном числе, тем ниже точность. Высокая точность увеличит время, которое требуется для того, чтобы сошелся процесс оптимизации.

Параметр «Допустимое отклонение» служит для задания допуска на отклонение от оптимального решения в целочисленных задачах. При указании большего допуска поиск решения заканчивается быстрее. Параметр «Сходимость» применяется только при решении нелинейных задач. Установка флажка «Линейная модель» обеспечивает ускорение поиска решения линейной задачи за счет применение симплекс-метода. Подтвердите установленные параметры нажатием кнопки «ОК». Запуск задачи на решение

Запуск задачи на решение производится из окна «Поиск решения» путем нажатия кнопки «Выполнить».

После запуска на решение задачи линейного программирования на экране появляется окно «Результаты поиска решения» с одним из сообщений:

• Сообщение об успешном решении задачи

• Сообщение при несовместной системе ограничений задачи

• Сообщение при неограниченности ЦФ в требуемом направлении Иногда второе и третье сообщения свидетельствуют не о характере оптимального решения задачи, а о том, что при вводе условийзадачи в Excel были допущены ошибки, не позволяющие Excel найти оптимальное решение, которое в действительности существует.

Если при заполнении полей окна «Поиск решения» были допущены ошибки, не позволяющие Excel применить симплекс-метод для решения задачи или довести ее решение до конца, то после запуска задачи на решение на экран будет выдано соответствующее сообщение с указанием причины, по которой решение не найдено. Иногда слишком малое значение параметра»Относительная погрешность» не позволяет найти оптимальное решение. Для исправления этой ситуации увеличивайте погрешность поразрядно, например от 0,000001 до 0,00001 и т.д.

В окне «Результаты поиска решения» представлены названия трех типов отчетов: «Результаты», «Устойчивость», «Пределы». Они необходимы при анализе полученного решения на чувствительность (будет рассмотрено позже). Для получения же ответа (значений переменных, ЦФ и левых частей ограничений) прямо в экранной форме просто нажмите кнопку «ОК». После этого в экранной форме появляется оптимальное решение задачи (рис.3).

Линейное программирование в Excel задачи с решением

Целочисленное программирование

Допустим, что к условию задачи (1) добавилось требование целочисленности значений всех переменных. В этом случае описанный выше процесс ввода условия задачи необходимо дополнить следующими шагами.

• В экранной форме укажите, на какие переменные накладывается требование целочисленности (этот шаг делается для наглядности восприятия условия задачи) (рис. 4).

Линейное программирование в Excel задачи с решением

• В окне «Поиск решения» (меню «Сервис»—►»Поиск решения»), нажмите кнопку «Добавить» и в появившемся окне «Добавление ограничений» введите ограничения целочисленности. Сравните результаты.

Получите у преподавателя индивидуальные задания.

Примеры решения экономических задач Задача 1.

Средства очистки пола оценивают по следующим трем показателям:

  • • очищающие свойства;
  • • дезинфицирующие свойства;
  • • раздражающее воздействие на кожу.

Каждый из этих показателей измеряется по линейной шкале от 0 до 100. Продукт на рынке должен иметь по крайней мере 60 ед. очищающих свойств и по крайней мере 60 ед. дезинфицирующих свойств по соответствующей шкале. При этом раздражающее воздействие на кожу должно быть минимальным. Конечный продукт должен быть смесью трех основных очистителей, характеристики которых приведены в таблице.

Линейное программирование в Excel задачи с решением

Составим математическую модель задачи. Пусть Линейное программирование в Excel задачи с решением — доля очистителя Линейное программирование в Excel задачи с решением в конечном продукте, Линейное программирование в Excel задачи с решением — доля очистителя Линейное программирование в Excel задачи с решением в конечном продукте, Линейное программирование в Excel задачи с решением — доля очистителя Линейное программирование в Excel задачи с решением в конечном продукте.

Целевая функция: Линейное программирование в Excel задачи с решением (т.е. минимизируем раздражающее воздействие на кожу конечного продукта).

Ограничения:

Линейное программирование в Excel задачи с решением

Решение задачи с помощью MS Excel.

Линейное программирование в Excel задачи с решением

Заполним таблицу, содержащую исходные данные. Заполним диалоговое окно

«Поиск решения».

Линейное программирование в Excel задачи с решением

Щелкнув по кнопке ОК, мы получаем на месте исходной таблицы — таблицу с найденными оптимальными значениями. В результате в таблице получим значение целевой функции — 31,4 ед. раздражающего воздействия на кожу при

Линейное программирование в Excel задачи с решением

(т.е. очистители Линейное программирование в Excel задачи с решением нужно брать в долях 30%, 10% и 60% соответственно).

Линейное программирование в Excel задачи с решением

Задача 2.

Фирме требуется уголь с содержанием фосфора не более 0,03% и с примесью пепла не более 3,25%. Доступны 3 сорта угля Линейное программирование в Excel задачи с решением по следующим ценам (за тонну):

Линейное программирование в Excel задачи с решением

Как следует их смешать, чтобы удовлетворить ограничениям на примеси и минимизировать цену?

Решение задач математического программирования с помощью надстройки «Поиск решения» ЭТ Excel

Задачи линейного программирования, целочисленного программирования и ряд задач нелинейного программирования могут быть решены с помощью стандартного прикладного программного обеспечения. Например, в ЭТ MS Excel для этого имеется модуль «Поиск решения», вызываемый командой меню «Сервис/Поиск решения». Для активизации данного модуля необходимо выполнить команду «Сервис/Надстройки» и установить флажок напротив строки меню «Поиск решения».

Рассмотрим пример применения «Поиска решения» на основе решения задачи оптимизации портфеля ценных бумаг — одной из классических задач управления финансовыми средствами.

Постановка задачи. Перед инвестором стоит задача на основе информации, представленной в таблице 1, разместить имеющиеся средства так, чтобы получить максимальную прибыль за 1 период планирования (1 год), при этом должны быть выполнены следующие условия:

  1. Суммарный объем капитала составляет 100 000 $;
  2. доля средств, вложенная в один из объектов, не может превышать 25%;
  3. более 40% всех средств должны быть вложены в долгосрочные активы;
  4. доля высокорисковых активов не может превышать трети от суммарного объема.

Таблица 1 — Информация об объектах инвестирования

Линейное программирование в Excel задачи с решением

Построим экономико-математическую модель задачи.

Искомые переменные — объемы средств, вложенные в активы: Линейное программирование в Excel задачи с решениемЛинейное программирование в Excel задачи с решением.

Прибыль, которую получит инвестор, задается целевой функцией:

Линейное программирование в Excel задачи с решением

Сформируем ограничения:

Ограничения на суммарный объем активов —

Линейное программирование в Excel задачи с решением

Ограничение на размер доли каждого актива

Линейное программирование в Excel задачи с решением

Необходимость долгосрочного инвестирования (например, более 3 лет)

Линейное программирование в Excel задачи с решением

Учет необходимости снижения риска —

Линейное программирование в Excel задачи с решением

Естественное экономическое ограничение — неотрицательность искомых переменных —

Линейное программирование в Excel задачи с решением

Для решения задачи выполним следующие шаги.

  • На рабочем листе представим необходимую для решения информацию, согласно рисунку 1.

Ячейки В13, Н9-Н11 должны содержать формулы, отражающие зависимость между искомыми переменными и условиями задачи. В данном случае целесообразно использовать функцию Суммпроизв(…), аргументами которой являются диапазоны B4-G4 и диапазоны соответствующих параметров.

Линейное программирование в Excel задачи с решением

Рисунок 1 — Исходные данные для решения ЗЛП

  • Выполнить команду Сервис/Поиск решения и заполнить все поля диалогового окна:

Указать адрес ячейки (В 13), содержащей целевую функцию, указать тип целевой функции,

В поле «изменяя ячейки» указать адреса всех искомых переменных (от В4 до G4).

Затем последовательно заполнить все ограничения (Пример на рисунке 2.)

Линейное программирование в Excel задачи с решением

Если возникли ошибки ввода, то изменить или добавить ограничение можно с помощью командных кнопок «Добавить, изменить, удалить».

Линейное программирование в Excel задачи с решением

Далее, если это необходимо, устанавливаются особые значения параметров (кнопка «Параметры»).

Линейное программирование в Excel задачи с решением

Результаты отражаются на рабочем листе. Результаты решения представлены на рисунке 5.

Линейное программирование в Excel задачи с решением

Рисунок 5 — Результаты решения задачи

На рисунке 6 представлена структура инвестиционного портфеля.

Линейное программирование в Excel задачи с решением

На основе решения проводится анализ, и принимаются соответствующие управленческие решения.

Технология решения транспортной задачи

1. На рабочем листе представим необходимую для решения информацию, согласно рисунку 7.

Ячейки В15 содержит формулу Суммпроизв(…), аргументами которой являются диапазоны В4-Е6 и В9-Е11. Ячейки F9-F11 должны содержать формулы, отражающие зависимость между искомыми переменными и условиями задачи. В данном случае целесообразно использовать функцию Сумм(…), аргументами которой являются диапазоны В9-Е9, В10-Е 10 и В11 -Е11. Аналогично определяются формулы в В12-Е 12.

Линейное программирование в Excel задачи с решением

Рисунок 7 — Исходные данные для решения ЗЛП

  • Выполнить команду Сервис/Поиск решения и заполнить все поля диалогового окна:

Указать адрес ячейки (В 15), содержащей целевую функцию, указать тип целевой функции (минимум),

В поле «изменяя ячейки» указать адреса всех искомых переменных (от В9 до Е11).

Затем последовательно заполнить все ограничения (Пример на рисунке 8.)

Линейное программирование в Excel задачи с решением

Если возникли ошибки ввода, то изменить или добавить ограничение можно с помощью командных кнопок «Добавить, изменить, удалить». Результаты отражаются на рабочем листе. Результаты решения представлены на рисунке 9.

Линейное программирование в Excel задачи с решением

Технология решения задачи нелинейного программирования

Построить математическую модель и решить задачу потребительского выбора для заданной функции полезности Линейное программирование в Excel задачи с решением на товары Линейное программирование в Excel задачи с решением, ценах Линейное программирование в Excel задачи с решением и

Линейное программирование в Excel задачи с решением

доходе I. Найти максимальное значение функции полезности.

Построим математическую модель задачи потребительского выбора:

Линейное программирование в Excel задачи с решением

где Линейное программирование в Excel задачи с решением — число потребляемых товаров или благ, Линейное программирование в Excel задачи с решением — потребительский набор, Линейное программирование в Excel задачи с решением — функция полезности потребителя.

Набор, который является решением задачи потребительского выбора, называется оптимальным потребительским набором, или точкой локального рыночного равновесия потребителя. Поставленная задача — задача потребительского выбора — является задачей нелинейного программирования.

  • На рабочем листе представим необходимую для решения информацию, согласно рисунку 10.

Ячейки В5, В6 должны содержать формулы, отражающие зависимость между искомыми переменными и условиями задачи. В данном случае ячейка В5 содержит формулу «=D2B2+E2C2», а ячейка В6 содержит формулу «=2В2Л(3/4)(С2-4)А(1/4)».

Линейное программирование в Excel задачи с решением

Рисунок 10 — Исходные данные для решения ЗНП

  • Выполнить команду Сервис/Поиск решения и заполнить все поля диалогового окна:

Линейное программирование в Excel задачи с решением

Аналитическое решение задачи нелинейного программирования.

В рассматриваемом случае ограничение можно записать в виде строгого равенства, так как оптимальное решение достигается при полном использовании имеющихся средств.

Для решения классической задачи нелинейного программирования применим метод множителей Лагранжа, для этого составим функцию Лагранжа:

Линейное программирование в Excel задачи с решением

Найдем точки экстремума функции Лагранжа.

Линейное программирование в Excel задачи с решением

Приравняем каждое уравнение к 0:

Линейное программирование в Excel задачи с решением

С помощью преобразований — разделим первое уравнение системы на второе, перейдем к системе:

Линейное программирование в Excel задачи с решением

Подставим второе уравнение в первое и построим аналитические функции спроса:

Линейное программирование в Excel задачи с решением

Максимальное значение функции полезности-

Линейное программирование в Excel задачи с решением

Решением задачи потребительского выбора будет набор Линейное программирование в Excel задачи с решениемЛинейное программирование в Excel задачи с решением

Возможно эти страницы вам будут полезны:

  1. Решение задач по математическому программированиюПримеры решения задач по математическому программированиюЗаказать работу по математическому программированиюПомощь по математическому программированиюЗадачи математического программированияЗадача линейного программированияРешение задач по линейному программированиюМетоды решения задач линейного программированияГрафическое решение задач линейного программированияГрафический метод решения задач линейного программированияЗаказать работу по линейному программированиюПомощь по линейному программированиюКонтрольная работа по линейному программированиюКурсовая работа по линейному программированию

Like this post? Please share to your friends:
  • Оптимальное решение задач с помощью excel
  • Оптимальное решение в excel это
  • Оптимальное распределение средств excel
  • Оптимальное планирование решение задач оптимального планирования в microsoft excel
  • Оптимальное планирование в excel это