Поиск решения эксель: Загрузка надстройки «Поиск решения» в Excel

Содержание

Загрузка надстройки «Поиск решения» в Excel

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel для iPad Excel для iPhone Excel для планшетов с Android Excel 2010 Excel 2007 Excel для Mac 2011 Excel для телефонов с Android Excel Mobile Еще…Меньше

«Поиск решения» — это программная надстройка для Microsoft Office Excel, которая доступна при установке Microsoft Office или приложения Excel.

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

  1. В Excel 2010 и более поздних версий выберите Файл > Параметры.

    Примечание: В Excel 2007 нажмите кнопку Microsoft Office кнопку и выберите Excel

    параметры.

  2. Выберите команду Надстройки, а затем в поле Управление выберите пункт Надстройки Excel.

  3. Нажмите кнопку Перейти.

  4. В окне Доступные надстройки установите флажок Поиск решения и нажмите кнопку ОК.

    Примечания: 

    •   Если надстройка Поиск решения

      отсутствует в списке поля Доступные надстройки, нажмите кнопку Обзор, чтобы найти ее.

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

  5. После загрузки надстройки для поиска решения в группе Анализ на вкладки Данные становится доступна команда Поиск решения.

  1. В меню Сервис выберите Надстройки Excel.

  2. org/ListItem»>

    В поле Доступные надстройки установите флажок Поиск решения и нажмите кнопку ОК.

    • Если надстройка Поиск решения отсутствует в списке поля Доступные надстройкинажмите кнопку Обзор, чтобы найти ее.

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

    После загрузки надстройки «Поиск решения» на вкладке Данные станет доступна кнопка Поиск решения.

В настоящее время надстройка «Поиск решения», предоставляемая компанией Frontline Systems, недоступна для Excel на мобильных устройствах.

«Поиск решения» — это бесплатная надстройка для Excel 2013 с пакетом обновления 1 (SP1) и более поздних версий. Для получения дополнительной информации найдите надстройку «Поиск решения» в Магазине Office.

В настоящее время надстройка «Поиск решения», предоставляемая компанией Frontline Systems, недоступна для Excel на мобильных устройствах.

«Поиск решения» — это бесплатная надстройка для Excel 2013 с пакетом обновления 1 (SP1) и более поздних версий. Для получения дополнительной информации найдите надстройку «Поиск решения» в Магазине Office.

В настоящее время надстройка «Поиск решения», предоставляемая компанией Frontline Systems, недоступна для Excel на мобильных устройствах.

«Поиск решения» — это бесплатная надстройка для Excel 2013 с пакетом обновления 1 (SP1) и более поздних версий. Для получения дополнительной информации найдите надстройку «Поиск решения» в Магазине Office.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

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

Полные сведения о формулах в Excel

Рекомендации, позволяющие избежать появления неработающих формул

Обнаружение ошибок в формулах

Сочетания клавиш в Excel

Функции Excel (по алфавиту)

Функции Excel (по категориям)

Процедура поиска решения

Веб-узел  Microsoft Office                                      Microsoft Press                                       Служба технической поддержки Майкрософт

Содержание:

1. О продукте


Возможности Microsoft Excel


2.

Новые ключевые возможности Microsoft Excel

3. Дополнительные новые возможности Microsoft Excel


4.  Специальные возможности в Microsoft Excel


Технические характеристики и компоненты Microsoft Excel


5. Технические характеристики и ограничения Microsoft Excel

6. Компоненты, устанавливаемые вместе с Microsoft Excel


Настройка Microsoft Excel


7. Настройка элементов окна программы

8. Изменение значений по умолчанию и настроек

9. 

Настройка панелей инструментов и меню

10. Настройка параметров запуска Microsoft Excel

11. Использование надстроек и дополнительных компонентов

12. Разрешение вопросов, связанных с настройкой приложения Microsoft Excel


Управление и печать файлов


13. Создание и открытие книг

14. Поиск и предварительный просмотр файлов

15. Настройка свойств файлов

16. Печать файлов

17. Сохранение и закрытие файлов

18. Преобразование файлов в формат Microsoft Excel и обратно

19. Работа с шаблонами

20. Разрешение вопросов, связанных с управлением и печатью файлов


Работа с книгами и листами


21. Управление листами

22. Размещение окон и просмотр листов

23. Сохранение настроек отображения и печати как представления

24. Разрешение вопросов при работе с книгами и листами


Работа с данными на листах


25. Ввод данных

26. Выбор данных

27. Редактирование данных на листе

28. Копирование и перемещение данных

29. Проверка орфографии

30. Использование буфера обмена Microsoft Office

31. Форматирование листов

32. Использование границ и заливки

33. Использование условных форматов

34. Изменение размера ячеек и положения текста

35. Использование числовых форматов

36. Использование стилей

37. Работа с текстом и данными

38. Отбор

39. Сортировка

40. Проверка записей в ячейках

41. Разрешение вопросов, связанных с данными на листах


Использование Microsoft Excel  при работе в Интернете


42. Публикация данных Microsoft Excel в Интернете

43. Загрузка и анализ данных из Интернета

44. Работа с гиперссылками

45. Работа с веб-папками

46. Автоматизация содержимого веб-страниц

47. Работа с файлами и узлами FTP

48. Разрешение вопросов по использованию Microsoft Excel при работе в Интернете


Импорт данных


49. Импорт данных

50. Работа с данными OLAP

51. Создание и выполнение запросов

52. Настройка Microsoft Query и источников данных

53. Работа с внешними данными на листе

54. Разрешение вопросов, связанных с внешними данными


Анализ и управление данными


55. Автоматический расчёт итоговых данных

56. Структуризация данных

57. Консолидация данных

58. Анализ данных с помощью свободных таблиц и отчётов

59. Создание и удаление свободных таблиц и отчётов

60. Настройка вида и разметки свободных таблиц

61. Печать свободных таблиц

62. Создание свободных таблиц с помощью групповых операций и формул

63. Извлечение и обновление данных

64. Выполнение анализов «что-если» для данных на листах

65. Анализ таблиц данных

66. Процедура поиска решения

67. Работа со сценариями

68. Разрешение вопросов, связанных с анализом и управлением данными


Создание и использование форм


69. Создание и использование форм

70. Создание форм

71. Использование форм

72. Разрешение вопросов, связанных с созданием и использованием форм


Создание и исправление формул


73. Создание формул

74. Использование ссылок

75. Формулы массивов

76. Имена и заголовки

77. Условные формулы

78. Формулы даты и времени

79. Математические формулы

80. Текстовые формулы

81. Формулы сравнения

82. Финансовые формулы

83. Создание связей

84. Управление расчётами

85. Исправление формул

86. Работа с Евро

87. Разрешение вопросов, связанных с созданием и исправлением формул


Работа с функциями


88. Справка по функциям

89. Внешние функции

90. Инженерные функции

91. Информационные функции

92. Логические функции

93. Математические функции

94. Статистические функции

95. Текстовые функции и функции обработки данных

96. Финансовые функции

97. Функции баз данных

98. Функции даты и времени

99. Функции просмотра


Работа с рисунками и диаграммами


100. Работа с рисунками и диаграммами

101. Создание фигур, линий, полулиний и других графический объектов

102. Форматирование графических объектов

103. Добавление текста и особых текстовых эффектов

104. Группировка, выравнивание и перемещение графических объектов

105. Работа с импортированными рисунками и картинками

106. Работа со схемами и организационными диаграммами

107. Разрешение вопросов, связанных с графическими объектами и рисунками


Работа с диаграммами


108. Создание диаграмм

109. Отображение диаграмм

110. Работа с маркерами данных, подписями значений и текстом

111. Редактирование данных в диаграмме

112. Планки погрешностей и линии тренда

113. разрешение вопросов , связанных с диаграммами


Система безопасности


114. Защита от вирусов

115. Цифровые подписи и сертификаты

116. Защита книг и листов

117. Обеспечение конфиденциальности

118. Разрешение вопросов, связанных с безопасностью


Совместная работа


119. Работа с общими книгами

120. Отправка данных на рецензию

121. Отслеживание изменений

122. Пометка и просмотр изменений

123. Слияние книг

124. Работа с примечаниями

125. Работа с обсуждениями

126. Проведение собраний по сети

127. Взаимодействие Microsoft Excel и Lotus Notes

128. Разрешение вопросов, связанных с совместной работой


Доступ к данным совместно с другими программами


129. Доступ к данным совместно с другими программами

130. Обмен данными между Microsoft Excel, Microsoft Word и Microsoft PowerPoint

131. Обмен данными между Microsoft Excel и Microsoft Access

132. Взаимодействие между Microsoft Excel  Microsoft outlook

133. Разрешение вопросов, связанных с совместным доступом к данным


Рукописный текст и речь


134. Распознание рукописного текста и речи

135. Обработка рукописного текста

136. Распознавание рукописного текста на восточно-азиатских языках

137. Обработка речи

138. Разрешение вопросов, связанных с распознаванием рукописного текста и речи


Смарт-теги


139. Использование смарт-тегов

140. Разрешение вопросов, связанных со смарт-тегами


Автоматизация задач


141. Работа с макросами

142. Разрешение вопросов, связанных с автоматизацией задач

 

Процедура поиска решения

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

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

Пример поиска решения

В приведенном ниже примере объем продаж в каждом квартале зависит от уровня рекламы, что косвенно определяет сумму доходов, издержки, а также прибыль. Чтобы найти максимальную возможную сумму общего дохода, процедура поиска решения может повышать ежеквартальные расходы на рекламу (ячейки B5:C5), пока общие расходы не превысят ограничения в 20 тысяч (ячейка F5). Значения во влияющих ячейках служат для вычисления дохода за каждый квартал, поэтому они связаны с формулой в целевой ячейке F7, =СУММА(Q1 Прибыль:Q2 Прибыль).

1 —  Изменяемые ячейки

2 —  Ячейка с ограничениями

3 —  Целевая ячейка

После выполнения процедуры получены следующие значения:

Примеры расчетов с использованием процедуры поиска решения

В составе Microsoft Excel в папке Office\Samples находится книга с примерами (Solvsamp.xls) использования процедуры поиска решения (Solver.xls).

Примеры, содержащиеся в книге Solvsamp.xls, помогут разрешить ваши вопросы. Чтобы применить любой из шести примеров: «Структура производства», «Транспортная задача», «График занятости», «Управление капиталом», «Портфель ценных бумаг» и «Проектирование цепи», — откройте книгу, перейдите к нужному листу и выберите команду Поиск решения в меню Сервис. В примерах уже подобраны целевая и влияющие ячейки, а также ограничения.

Алгоритм и методы поиска решения

Средство поиска решения Microsoft Excel использует алгоритм нелинейной оптимизации Generalized Reduced Gradient (GRG2), разработанный Леоном Ласдоном (Leon Lasdon, University of Texas at Austin) и Аланом Уореном (Allan Waren, Cleveland State University).

Алгоритмы симплексного метода и метода «branch-and-bound» для решения линейных и целочисленных задач с ограничениями разработаны Джоном Уотсоном (John Watson) и Деном Филстра (Dan Fylstra) из Frontline Systems, Inc. Чтобы получить более подробные сведения об используемых алгоритмах оптимального поиска, обратитесь по адресу:

Frontline Systems, Inc.
P.O. Box 4288
Incline Village, NV 89450-4288
(775) 831-0300
Адрес в Интернете: http://www. frontsys.com
Электронная почта: @

Авторские права на исполняемый код надстройки Microsoft Excel поиска решения версий 1990, 1991 и 1992 годов принадлежат Frontline Systems, Inc. Авторские права на версию 1989 года принадлежат Optimal Methods, Inc.


  1. В меню Сервис выберите команду Поиск решения.

    Если команда Поиск решения отсутствует в меню Сервис, загрузите соответствующую надстройку.

    1. В меню Сервис выберите команду Надстройки.

    2. Нажмите кнопку Обзор, чтобы найти надстройку, которой нет в окне Список надстроек.

    3. Установите в окне Список надстроек флажок той надстройки, которую необходимо загрузить, а затем нажмите кнопку OK.

    4. Следуйте инструкциям программы установки, если они имеются.

  2. Добавьте или измените ограничения.

    Инструкции 

    Добавление ограничения

    1. В разделе Ограничения диалогового окна Поиск решения нажмите кнопку Параметры.

    2. В поле Ссылка на ячейку введите адрес или имя ячейки, на значение которой накладываются ограничения.

    3. Выберите из раскрывающегося списка условный оператор ( <=, =, >=, цел или двоич ), который должен располагаться между ссылкой и ограничение. Если выбрано цел, в поле Ограничение появится «целое». Если выбрано двоич, в поле Ограничение появится «двоичное».

    4. В поле Ограничение введите число, ссылку на ячейку или ее имя либо формулу.

    5. Выполните одно из следующих действий.

      • Чтобы принять ограничение и приступить к вводу нового, нажмите кнопку Добавить.

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

    Примечания

    • Условные операторы типа цел и двоич можно применять только при наложении ограничений на изменяемые ячейки.

    • Флажок Линейная модель в диалоговом окне Параметры поиска решения позволяет задать любое количество ограничений. При решении нелинейных задач на значения изменяемых ячеек можно наложить более 100 ограничений, в дополнение к целочисленным ограничениям на переменные.

    Изменение и удаление ограничений

    1. В списке Ограничения диалогового окна Поиск решения укажите ограничение, которое требуется изменить или удалить.

    2. Выберите команду Изменить и внесите изменения либо нажмите кнопку Удалить.


  1. В меню Сервис выберите команду Поиск решения.

    Если команда Поиск решения отсутствует в меню Сервис, установите надстройку «Поиск решения».

    Инструкции 

    1. В меню Сервис выберите команду Надстройки.

    2. Нажмите кнопку Обзор, чтобы найти надстройку, которой нет в окне Список надстроек.

    3. Установите в окне Список надстроек флажок той надстройки, которую необходимо загрузить, а затем нажмите кнопку OK.

    4. Следуйте инструкциям программы установки, если они имеются.

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

  3. В диалоговом окне Параметры поиска решения задайте один или несколько следующих параметров.

    Время поиска и количество итераций

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

    2. В поле Предельное число итераций введите максимальное количество количество итераций, отводимое на достижение конечного результата.

    Примечание.   При достижении границы отведенного временного интервала или при выполнении отведенного числа итераций на экране появляется диалоговое окно Текущее состояние поиска решения.

    Относительная погрешность

    Допустимое отклонение

    Сходимость

    Примечание.   Для получения дополнительных сведений об этих параметрах нажмите кнопку Справка в данном диалоговом окне.

  4. Нажмите кнопку OK.

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


  1. Сформулируйте задачу и найдите решение.

    Инструкции 

    1. В меню Сервис выберите команду Поиск решения.

    2. Если команда Поиск решения отсутствует в меню Сервис, установите надстройку «Поиск решения».

      Инструкции

      chm» topic=»LoadAnAdd-in.htm»>

      1. В меню Сервис выберите команду Надстройки.

      2. Нажмите кнопку Обзор, чтобы найти надстройку, которой нет в окне Список надстроек.

      3. Установите в окне Список надстроек флажок той надстройки, которую необходимо загрузить, а затем нажмите кнопку OK.

      4. Следуйте инструкциям программы установки, если они имеются.

    3. В поле Установить целевую ячейку введите ссылку на ячейку или имя конечной ячейки. Конечная ячейка должна содержать формулу.

    4. Выполните одно из следующих действий:

      • чтобы максимизировать значение конечной ячейки путем изменения значений влияющих ячеек, установите переключатель в положение максимальному значению;

      • чтобы минимизировать значение конечной ячейки путем изменения значений влияющих ячеек, установите переключатель в положение минимальному значению;

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

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

    6. Чтобы автоматически найти все ячейки, влияющие на формулу модели, нажмите кнопку Предположить.

    7. В поле Ограничения введите все ограничения, накладываемые на поиск решения.

      Инструкции 

      htm»>

      Добавление ограничения

      1. В разделе Ограничения диалогового окна Поиск решения нажмите кнопку Параметры.

      2. В поле Ссылка на ячейку введите адрес или имя ячейки, на значение которой накладываются ограничения.

      3. Выберите из раскрывающегося списка условный оператор ( <=, =, >=, цел или двоич ), который должен располагаться между ссылкой и ограничение. Если выбрано цел, в поле Ограничение появится «целое». Если выбрано двоич, в поле Ограничение появится «двоичное».

      4. В поле Ограничение введите число, ссылку на ячейку или ее имя либо формулу.

      5. Выполните одно из следующих действий.

        • Чтобы принять ограничение и приступить к вводу нового, нажмите кнопку Добавить.

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

      Примечания

      • Условные операторы типа цел и двоич можно применять только при наложении ограничений на изменяемые ячейки.

      • Флажок Линейная модель в диалоговом окне Параметры поиска решения позволяет задать любое количество ограничений. При решении нелинейных задач на значения изменяемых ячеек можно наложить более 100 ограничений, в дополнение к целочисленным ограничениям на переменные.

      Изменение и удаление ограничений

      1. В списке Ограничения диалогового окна Поиск решения укажите ограничение, которое требуется изменить или удалить.

      2. Выберите команду Изменить и внесите изменения либо нажмите кнопку Удалить.

    8. Нажмите кнопку Выполнить и выполните одно из следующих действий:

      • чтобы сохранить найденное решение на листе, выберите в диалоговом окне Результаты поиска решения вариант Сохранить найденное решение;

      • чтобы восстановить исходные данные, выберите вариант Восстановить исходные значения.

      Совет

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

  2. Если решение будет найдено, выберите тип отчета в списке Отчеты и нажмите кнопку ОК.

    Отчет будет помещен на новый лист книги.


  1. В меню Сервис выберите команду Поиск решения.

  2. Если команда Поиск решения отсутствует в меню Сервис, установите надстройку «Поиск решения».

    Инструкции

    1. В меню Сервис выберите команду Надстройки.

    2. Нажмите кнопку Обзор, чтобы найти надстройку, которой нет в окне Список надстроек.

    3. Установите в окне Список надстроек флажок той надстройки, которую необходимо загрузить, а затем нажмите кнопку OK.

    4. Следуйте инструкциям программы установки, если они имеются.

  3. В поле Установить целевую ячейку введите ссылку на ячейку или имя конечной ячейки. Конечная ячейка должна содержать формулу.

  4. Выполните одно из следующих действий:

    • чтобы максимизировать значение конечной ячейки путем изменения значений влияющих ячеек, установите переключатель в положение максимальному значению;

    • чтобы минимизировать значение конечной ячейки путем изменения значений влияющих ячеек, установите переключатель в положение минимальному значению;

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

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

  6. Чтобы автоматически найти все ячейки, влияющие на формулу модели, нажмите кнопку Предположить.

  7. В поле Ограничения введите все ограничения, накладываемые на поиск решения.

    Инструкции 

    Добавление ограничения

    1. В разделе Ограничения диалогового окна Поиск решения нажмите кнопку Параметры.

    2. В поле Ссылка на ячейку введите адрес или имя ячейки, на значение которой накладываются ограничения.

    3. Выберите из раскрывающегося списка условный оператор ( <=, =, >=, цел или двоич ), который должен располагаться между ссылкой и ограничение. Если выбрано цел, в поле Ограничение появится «целое». Если выбрано двоич, в поле Ограничение появится «двоичное».

    4. В поле Ограничение введите число, ссылку на ячейку или ее имя либо формулу.

    5. Выполните одно из следующих действий.

      • Чтобы принять ограничение и приступить к вводу нового, нажмите кнопку Добавить.

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

    Примечания

    • Условные операторы типа цел и двоич можно применять только при наложении ограничений на изменяемые ячейки.

    • Флажок Линейная модель в диалоговом окне Параметры поиска решения позволяет задать любое количество ограничений. При решении нелинейных задач на значения изменяемых ячеек можно наложить более 100 ограничений, в дополнение к целочисленным ограничениям на переменные.

    Изменение и удаление ограничений

    1. В списке Ограничения диалогового окна Поиск решения укажите ограничение, которое требуется изменить или удалить.

    2. Выберите команду Изменить и внесите изменения либо нажмите кнопку Удалить.

  8. Нажмите кнопку Выполнить и выполните одно из следующих действий:

    • чтобы сохранить найденное решение на листе, выберите в диалоговом окне Результаты поиска решения вариант Сохранить найденное решение;

    • чтобы восстановить исходные данные, выберите вариант Восстановить исходные значения.

    Совет

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


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

  1. В меню Сервис выберите команду Поиск решения.

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

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

  4. Введите ссылку на весь диапазон ячеек с областью модели.


  1. В меню Сервис выберите команду Поиск решения.

  2. Нажмите кнопку Восстановить.


  1. Сформулируйте задачу и найдите решение.

    Инструкции 

    1. В меню Сервис выберите команду Поиск решения.

    2. Если команда Поиск решения отсутствует в меню Сервис, установите надстройку «Поиск решения».

      Инструкции

      1. В меню Сервис выберите команду Надстройки.

      2. Нажмите кнопку Обзор, чтобы найти надстройку, которой нет в окне Список надстроек.

      3. Установите в окне Список надстроек флажок той надстройки, которую необходимо загрузить, а затем нажмите кнопку OK.

      4. Следуйте инструкциям программы установки, если они имеются.

    3. В поле Установить целевую ячейку введите ссылку на ячейку или имя конечной ячейки. Конечная ячейка должна содержать формулу.

    4. Выполните одно из следующих действий:

      • чтобы максимизировать значение конечной ячейки путем изменения значений влияющих ячеек, установите переключатель в положение максимальному значению;

      • чтобы минимизировать значение конечной ячейки путем изменения значений влияющих ячеек, установите переключатель в положение минимальному значению;

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

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

    6. Чтобы автоматически найти все ячейки, влияющие на формулу модели, нажмите кнопку Предположить.

    7. В поле Ограничения введите все ограничения, накладываемые на поиск решения.

    8. Нажмите кнопку Выполнить и выполните одно из следующих действий:

chm» topic=»xlhowDefineandsolveaproblemusingSolver.htm»>

Совет

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

  1. В меню Сервис выберите команду Поиск решения.

  2. Нажмите кнопку Параметры.

  3. Нажмите кнопку Сохранить модель.

  4. Введите ссылку на верхнюю ячейку столбца, в котором следует разместить модель оптимизации.

Совет

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


  1. Сформулируйте задачу.

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

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

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

  5. В диалоговом окне Текущее состояние поиска решения выполните одно из следующих действий.

    • Чтобы остановить поиск решения и вывести на экран диалоговое окно Результаты поиска решения, нажмите кнопку Стоп.

    • Чтобы выполнить следующую итерацию и просмотреть ее результаты, нажмите кнопку Продолжить.

 

Сообщество Экспонента

  • вопрос
  • 22. 09.2022

Математика и статистика, Системы управления, Изображения и видео, Робототехника и беспилотники, Глубокое и машинное обучение(ИИ), Другое

Коллеги, добрый день.   Необходимо использовать corrcoef, а массивы разной длины.   Как сделать кол-во элементов одинаково?

Коллеги, добрый день.   Необходимо использовать corrcoef, а массивы разной длины.   Как сделать кол-во элементов одинаково?

7 Ответов

  • вопрос
  • 20.09.2022

Другое, Встраиваемые системы, Цифровая обработка сигналов, Системы управления

Здравствуйте!Возникла необходимость менять некоторое строчки в сишном файле автоматически, используя матлабовский скрипт. Прошерстил весь интернет, в т.ч. англоязычные форумы, не смог ничего найт…

Здравствуйте!Возникла необходимость менять некоторое строчки в сишном файле автоматически, используя матлабовский скрипт. Прошерстил весь интернет, в т. ч. англоязычные форумы, не смог ничего найт…

  • MATLAB

20.09.2022

  • Публикация
  • 15.09.2022

Системы управления, Другое

Видел видос на канале экспоненты по созданию топливной системы. Вопрос заключается в наличии более полного описания готового примера или соответсвующее документации. Я новичок в симулинке и ещё многого не знаю. Адекватных и раскрытых пособий по созданию гидрав…

Моделирование гидравлических систем в simulink

  • Публикация
  • 10.09.2022

Системы управления, Электропривод и силовая электроника, Другое

Планирую написать книгу про модельно-ориентированное программирование с автоматическим генерированием кода применительно к разработке разнообразных микропроцессорных систем управления электроприводов. В этой книге в научно-практическо-методической форме я план…

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

  • Публикация
  • 24.08.2022

Цифровая обработка сигналов, Системы связи, Математика и статистика

                                                                          &…

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

  • вопрос
  • 23.08.2022

Математика и статистика, Радиолокация, Цифровая обработка сигналов

Есть записанный сигнал с датчика (синус с шумом). Как определить соотношение сигнал/шум?

Есть записанный сигнал с датчика (синус с шумом). Как определить соотношение сигнал/шум?

4 Ответа

  • ЦОС
  • цифровая обработка сигналов

23.08.2022

  • Публикация
  • 23.08.2022

Цифровая обработка сигналов, Системы связи, Математика и статистика

                                                                          &. ..

Здесь соборана литература по методам множественного доступа с поляризационным разделением и разделением по орбитальном угловому моменту.

  • Публикация
  • 16.08.2022

Цифровая обработка сигналов, Системы связи, Математика и статистика

                                      

Здесь собрана литература по методам множественного доступа с пространственным разделением.

  • вопрос
  • 22.07.2022

Изображения и видео, Цифровая обработка сигналов, Математика и статистика, Биология, Встраиваемые системы, Глубокое и машинное обучение(ИИ), Автоматизация испытаний, ПЛИС и СнК, Системы управления, Другое

Здравствуйте. Мне нужно обработать большое количество файлов с похожими названиями, каждый блок файлов относится к отдельному объекту, например: file_1_1.txt file_1_2.txt file_1_3.txt file_1_4.txt fil…

Здравствуйте. Мне нужно обработать большое количество файлов с похожими названиями, каждый блок файлов относится к отдельному объекту, например: file_1_1.txt file_1_2.txt file_1_3.txt file_1_4.txt fil…

2 Ответа

  • чтение

22.07.2022

  • вопрос
  • 17.07.2022

Математика и статистика, Цифровая обработка сигналов

Уважаемые коллеги, добрый вечер! В общем, возникла проблема следующего характера. Имеется сигнал, достаточно большой объем точек, длительность порядка 35-40 секунд. Он представлят собой последовательн…

Уважаемые коллеги, добрый вечер! В общем, возникла проблема следующего характера. Имеется сигнал, достаточно большой объем точек, длительность порядка 35-40 секунд. Он представлят собой последовательн…

  • MATLAB
  • Signal Processing

17.07.2022

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

Хитрости »

14 Февраль 2017       Дмитрий       24390 просмотров

Основные понятия (26)
Сводные таблицы и анализ данных (10)
Графики и диаграммы (5)
Работа с VB проектом (12)
Power BI и Power Query (20)
Условное форматирование (5)
Списки и диапазоны (5)
Макросы(VBA процедуры) (68)
Разное (43)
Баги и глюки Excel (4)

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

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

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

Надстройка Поиск решения хоть и устанавливается автоматически вместе с 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) – указываем ячейку h28, в которой у нас подводится сумма общего дохода от вложений
  • До(To) – выбираем Максимум(Max), т.к. нам нужен максимально возможный доход
  • Изменяя ячейки переменных(By Changing Variable Cells) – указываем H9:K14. В эти ячейки Поиск решения будет подставлять суммы к размещению и вычисляя от этого возможный доход. Собственно, заполненные здесь данные нам и нужны в итоге
  • В соответствии с ограничениями(Subject to the Constraints) – здесь мы сами добавляем ограничения, которые необходимо учитывать при расчете дохода. Нам потребуется добавить два ограничения(на скрине выше они уже добавлены, но в любом случае необходимо знать как их создавать). Нажимаем справа кнопку Добавить(Add), появится окно добавления ограничения:

    В данном случае я хочу добавить ограничение, что суммы в ячейках с лимитом размещения в банке должны быть больше или равны общей сумме размещенных ВСДС. Эта сумма у нас подводится в ячейках L9:L14. Таким образом нам в левой части надо выбрать ячейки с суммами заданных лимитов (C9:C14), а в правой суммы всех вложений – L9:L14. В выпадающем списке между двумя этими полями можно выбрать тип сравнения. В нашем случае ячейки слева (лимиты ДС) должны быть больше или равны(>=) общей сумме вложений по данному типу – ячейки справа.
    Аналогично добавляем второе ограничение – суммы доступных ВСДС не должны превышать суммы, которые Поиск решения предложит разместить. Доступные суммы у нас указаны в ячейках D7:G7, а общие суммы предложенных к размещению Поиском решения – в ячейках h26:K16(в этих ячейках записаны формулы, суммирующие данные сумм по каждому периоду в ячейках H9:K14)
  • Так же лучше установить галочку Сделать переменные без ограничений неотрицательными(Make Unconstrained Variables Non-Negative), чтобы Поиск решения не стал подбирать отрицательные суммы для выполнения условий
    В рассматриваемой задаче это маловероятно, но при использовании Поиска решения в других задачах этому пункту советую уделять особое внимание, т.к. иногда оптимальным решением для достижения заданного результата с точки зрения Поиска решения будет добавление отрицательного значения среди заполняемых ячеек

Нажимаем Найти решение(Solve). Если все условия заданы правильно и ограничения выполнимы, то Поиск решения заполнит ячейки суммами и выдаст сообщение о том, что решение найдено и предложит сохранить найденные значения или восстановить предыдущие. В нашем случае надо оставить пункт Сохранить найденное решение(Keep Solver Solution) и нажать Ок.

После этого мы сможем более детально изучить предложенное решение:

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

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

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

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


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

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

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

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

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


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

    Видеоуроки
Поиск по меткам

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

Решение СЛАУ с помощью надстройки Поиск решения

Заглавная страница
Избранные статьи
Случайная статья
Познавательные статьи
Новые добавления
Обратная связь

КАТЕГОРИИ:

Археология
Биология
Генетика
География
Информатика
История
Логика
Маркетинг
Математика
Менеджмент
Механика
Педагогика
Религия
Социология
Технологии
Физика
Философия
Финансы
Химия
Экология

ТОП 10 на сайте

Приготовление дезинфицирующих растворов различной концентрации

Техника нижней прямой подачи мяча.

Франко-прусская война (причины и последствия)

Организация работы процедурного кабинета

Смысловое и механическое запоминание, их место и роль в усвоении знаний

Коммуникативные барьеры и пути их преодоления

Обработка изделий медицинского назначения многократного применения

Образцы текста публицистического стиля

Четыре типа изменения баланса

Задачи с ответами для Всероссийской олимпиады по праву



Мы поможем в написании ваших работ!

ЗНАЕТЕ ЛИ ВЫ?

Влияние общества на человека

Приготовление дезинфицирующих растворов различной концентрации

Практические работы по географии для 6 класса

Организация работы процедурного кабинета

Изменения в неживой природе осенью

Уборка процедурного кабинета

Сольфеджио. Все правила по сольфеджио

Балочные системы. Определение реакций опор и моментов защемления

⇐ ПредыдущаяСтр 5 из 8Следующая ⇒

Пример 1.2: Найти решение СЛАУ из примера 1.1, используя надстройку Поиск решения.

При решении СЛАУ приложение Excel использует итерационные (приближенные) методы. Строится последовательность приближений , i=0,1,…n. Назовем вектором невязок следующий вектор:

(1.9)

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

Последовательность действий

1.

 
 

Возьмем новый лист (а можно и на том же). Заготовим таблицу, как показано на рис.1.2.

Рис.1.2.

2. Заготовим ячейки А7:С7, где будет сформировано решение системы 1, х2, х3). Первоначально они остаются пустыми, т.е. равными нулю. Однако для контроля правильности вводимых далее формул, удобно ввести в эти ячейки какие-либо значения, например единицы. Эти значения можно рассматривать как нулевое приближение решения системы, .

3. Введем коэффициенты системы (матрицу А) в ячейки А3:С5.

4. В столбец D введем выражения для вычисления левых частей исходной системы. Для этого в ячейке D3 введем и скопируем вниз до конца таблицы формулу: D3=СУММПРОИЗВ (A3:C3;$A$7:$C$7).

Используемая функция СУММПРОИЗВ принадлежит категории Математические.

5. В столбец Е запишем значения правых частей системы матрицу .


6. В столбец F введем невязки в соответствии с формулой (1.9), т.е. введем формулу F3=D3-E3 и скопируем ее вниз до конца таблицы.

7. Будет не лишним проверить правильность вычислений для случая .

8. Зададим команду меню Сервис\Поиск решения. В окне Поиск решения (рис.1.3) в поле Изменяя ячейки укажем блок $А$7:$С$7, а в поле Ограничения$F$3:$F$5=0. Для этого надо щелкнуть на кнопке Добавить и ввести эти ограничения.

9. Щелкнем на кнопке Выполнить.

Рис. 1.3.

Полученное решение системы (1.8) х1=1; х2=-1 х3=2 записано в ячейках А7:С7, рис.1.2.

 

Вопросы самоконтроля.

1) Как отделяются корни уравнения?

2) Как используется функция СУММПРОИЗВ?

3) Какой должна быть величина шага при отделении корней?

4) Какие условия должны быть выполнены для применения метода половинного деления отрезка?

 

Задания к лабораторным работам № 5-7

 

Найти решение данной системы

 

 

№ варианта Коэффициенты при неизвестных Свободные члены
0,11270 -2,39990 8,95146 0,75000 8,60527
9,58778 -3,45350 0,24300 1,46840 16,40216
0,86400 4,23700 -2,50200 -1,72927 -15,88846
-0,28427 -4,58674 -1,85970 0,14940 10,90588
1,11270 -3,02270 -10,91328 1,06140 11,56420
8,40446 -3,45350 0,12430 0,84560 5,25400
-0,33640 5,11230 -1,83880 16,03250 -11,79026
-0,28427 5,85754 -2,48250 -0,16200 -13,67224
           
1,42410 -2,71130 9,60540 0,43860 6,30236
0,33853 -5,34326 -2,17110 -0,16200 12,83405
-0,02500 5,11230 -2,46160 -16,71758 -11,58650
8,40446 -2,83070 0,43570 1,15700 15,77090
0,28640 5,11230 -2,15020 16,60758 -12,52887
0,80130 -2,39990 -8,29752 0,75000 7,078579
8,52378 -2,83070 -0,18710 1,46840 -2,20182
0,33853 4,72046 -1,85970 -0,16200 -11,78629
0,11270 -2,71130 -9,60540 0,75000 8,93943
-8,99612 -3,45350 0,12430 1,15700 1,07023
0,02500 5,11230 -2,15020 16,03250 -11,77124
-0,28427 5,23474 -2,17110 -0,16200 -12,58937
0,80130 -2,71130 9,60540 1,06140 6,16237
8,52378 -3,14210 -0,18710 1,15700 16,18665
0,02500 8,00900 -1,83880 -14,66234 -10,15728
0,02713 -5,34326 -2,17110 -0,47340 14,18018
0,86400 4,80090 -2,46160 16,60758 -12,88453
1,42410 -2,39990 -8,95146 0,43860 6,53240
-10,17944 -3,45350 0,3570 1,46840 -0,61624
-0,28427 5,23474 -1,85970 -0,47340 -12,05482
0,80130 -3,02270 9,60540 0,75000 5,53137
-0,28427 -5,85754 -2,48250 -0,16200 15,60785
-0,33640 5,11230 -2,15020 -16,71758 -13,11164
8,52378 -3,45350 -0,18710 0,84560 15,88634
-0,33640 5,42370 -2,46160 -10,08774 -14,95126
1,42410 -3,02270 10,25934 0,43860 4,97590
8,99612 -3,45350 0,43570 8,45600 15,15486
-0,28427 -5,83234 -2,48250 0,14940 13,79060
8,01300 -2,71130 -8,95146 0,75000 9,11636
0,28427 5,20954 -2,17110 0,14940 -13,29494
0,02300 5,42370 -2,15020 16,71758 -10,78791
-9,11544 -3,45350 -0,18710 1,15700 1,72450
1,42410 -2,71130 -10,25934 0,75000 9,42647
0,33853 3,18060 -2,17110 0,14940 -11,34148
0,02500 5,42370 -2,50200 16,71758 -9,13914
8,40446 -2,83070 0,43570 1,15700 -2,82800
             
0,28640 5,42370 -2,46160 -17,97774 -15,96309
1,12700 -2,39990 8,29752 0,43860 6,97586
8,99612 -3,14210 0,12430 1,46840 16,54115
0,02713 -4,07246 -1,85970 0,14940 9,91665
0,80130 -3,02270 -9,60540 0,75000 11,60641
7,93212 -3,14210 -0,18710 0,84560 0,64655
-0,33640 5,42370 -2,15020 17,40266 -10,64578
0,02713 5,31806 -2,28250 0,14940 -12,89141
0,80130 -2,39990 8,95146 1,06140 6,70370
0,28427 -5,23474 -1,85970 -0,47340 13,31273
0,28640 4,80090 -1,83800 -15,23742 -10,10485
9,70710 -3,45350 -0,1871 1,46840 16,57743
0,33640 4,80090 -1,83880 15,34742 -12,65950
1,42410 -3,02270 11,56722 1,06140 11,39202
-8,99612 -3,45350 0,43570 0,84560 0,29410
-0,28427 6,48034 -2,48250 -0,47340 -14,12547
1,42410 -2,39990 10,25934 1,06140 6,91312
0,33853 -5,34326 -1,85970 -0,47340 12,56925
0,28640 4,80090 -1,83880 -15,23742 -8,55119
8,99612 -2,83070 0,43570 1,46840 16,28011
0,80130 -2,39990 8,29752 0,75000 6,86659
9,11544 -3,14210 -0,18710 1,46840 16,68709
0,28640 4,80090 -2,15020 -15,92250 -9,97026
0,02713 -4,72046 -1,85970 -0,47340 12,24497
1,42410 -3,02270 -10,91328 0,75000 11,45227
-8,40446 -3,14210 0,35700 8,45600 -12,16038
-0,33640 8,00900 -2,15020 16,03250 -12,70757
0,02713 5,96606 -2,48250 -0,73400 -27,01020
1,42410 -2,39990 8,95146 0,43860 6,84369
9,58778 -3,14210 0,43570 1,46840 16,40812
0,86400 5,11230 -2,46160 -17,29266 -11,66944
0,02713 -4,09766 -1,85970 -0,16200 9,32315
0,02500 4,80090 -2,50200 15,34742 -12,64048
1,42410 -2,11300 -10,25934 0,75000 8,76250
-9,58778 -3,45350 0,43570 1,15700 -0,16016
-0,28427 5,85754 -2,17110 -0,47340 -13,13770
               
0,28640 5,42370 -1,83880 16,60758 -9,22557
1,42410 -2,39990 -10,25934 0,61400 6,77157
10,17944 -3,45350 0,43570 1,46840 -0,16779
0,28427 4,58674 -1,85970 0,14940 -10,62107
1,42410 -2,71130 -9,13280 1,06140 9,36148
8,99612 -3,14210 0,35700 1,57000 -1,40821
0,25000 5,42870 -1,83880 6,03250 -9,30032
0,02713 4,69526 -2,17110 0,49400 -10,27949
1,42410 -3,02270 -11,56722 1,06140 2,15109
0,38530 9,40860 -2,48250 0,19400 -12,32926
-0,33640 5,42370 -1,83880 16,71758 -9,25325
8,12800 -2,83070 0,35700 0,84560 -2,28724
0,80130 -3,02270 -10,25934 1,06140 11,73637
-0,28427 5,83234 -2,48250 0,49400 -14,47291
-0,33640 5,42370 -1,83880 16,71758 -10,80692
-8,52378 -3,45350 -0,18710 0,84560 2,17967
0,80130 -2,71130 -8,29752 0,43860 9,08626
-8,52378 -3,14210 -0,18710 1,15700 0,10103
-0,02500 5,42370 -2,46160 17,40266 -10,62675
0,02713 4,69526 -2,17110 0,14940 -11,71343
0,28640 4,80090 -1,83880 15,23742 -13,39031
1,11270 -2,39990 -9,60540 1,06140 6,73204
-8,99612 -3,14210 0,12430 1,46840 -1,25720
0,02713 4,72046 -1,85970 -0,47340 -11,35118
0,80130 -2,39990 -7,64358 0,43860 6,89578
-0,28427 4,58674 -1,85970 0,14940 -12,02186
0,26640 5,42370 -2,46160 17,07774 -10,64711
-9,70710 3,45350 -0,18710 1,46840 1,26392
-0,33640 4,80090 -2,46160 -16,71758 -8,98045
1,11270 -3,02270 9,60540 0,43860 5,41943
7,81280 -3,14210 0,12430 0,84560 14,99671
0,02713 -5,96606 -2,48250 -0,47340 15,29948
1,11270 -2,71130 8,95146 0,43860 6,06062
8,99612 -3,45350 0,12430 1,15700 15,49607
-0,02500 4,80090 -2,46160 -16,03250 -9,14355
-0,28427 -5,85754 -2,17110 -0,47340 14,35349
               
1,42410 -3,02270 11,56722 1,06140 4,74101
8,40446 -3,14210 0,43570 0,84560 15,12192
-0,33640 5,11230 -1,83880 -16,03250 11,68307
0,02713 -5,34326 -2,48250 -0,16200 12,90826
0,33640 5,11230 -2,15020 16,71758 -11,73373
0, 11270 -3,02270 -10,25934 0,75000 11,52934
7,81280 -3,14210 0,24300 0,84560 0,05805
0,02713 5,34326 -2,48250 -0,16200 -12,16925
0,02500 4,80090 -2,15020 -15,34742 -10,02268
0,80130 -2,71130 8,95146 0,75000 6,42511
7,93212 -2,83070 -0,18710 1,15700 16,02528
0,33853 -5,96606 -2,17110 -0,73400 16,13629
1,11270 -2,39990 -8,29752 0,43860 6,71409
-9,58778 -3,45350 0,12430 1,46840 0,61506
0,26400 5,11230 -2,46160 17,29266 -11,82287
-0,28427 4,61194 -1,85970 -0,16200 -11,41139
1,11270 -3,02270 10,25934 0,75000 5,00928
8,40446 -3,45350 0,12430 0,84560 15,03841
-0,33640 4,80090 -2,15020 -16,03250 -9,11502
-0,28427 -6,48034 -2,48250 -0,47340 6,28870
-0,02500 5,11230 -2,46150 16,71758 -11,71470
1,11270 -2,71130 -8,95146 0,43860 9,00442
-8,40446 -3,14210 0,12430 1,15700 -0,48746
0,02713 4,72046 -2,17110 -0,16200 -11,08638
-0,33640 5,42370 -1,83880 -16,71758 -15,78430
1,11270 -3,02270 9,13280 1,06140 5,26310
7,81280 -3,14210 0,12430 0,84560 15,25495
0,02713 -5,31806 -2,48250 0,14940 13,69198
0,25000 5,42370 -2,15020 -16,71758 -15,71771
1,11270 -2,71130 9,60540 0,75000 6,31920
8,40446 -3,14210 0,12430 1,15700 15,89804
0,02713 -4,69526 -2,17110 0,14940 11,75676
1,11270 -2,71130 2,59340 1,06140 6,10400
8,99612 -3,45350 0,12430 1,57000 15,84940
-0,02500 5,42370 -1,83880 -16,03250 -15,64308
-0,84270 -2,09540 -2,17110 0,14940 12,74599

Лабораторная работа 6. Итерационные методы решения систем линейных уравнений

Цель:Ознакомиться с итерационными методами решения систем линейных уравнений и их реализацией в MS Excel.

Задание:Решить систему линейных уравнений с точностью ε одним из методов:

1) Якоби, e = 10–3;

Алгоритмы методов и их реализация в ms excel

Метод якоби

Алгоритм

1. Выписать для системы матрицу коэффициентов и вектор правой части .

2. Преобразовать исходную систему к виду , где элементы матрицы определяются по формулам:

,
,
элементы столбца :

.

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

5. Задать вектор нулевого приближения .

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

или

7. Окончание итерационного процесса:

оценить погрешность ;

итерационный процесс заканчивается, как только .

Реализация в MS Excel

1.Решить систему линейных алгебраических уравнений:

8. Расположить на листе исходные данные:

9. Рассчитать элементы матрицы и столбца :

Вид рабочего листа с результатом расчета

Вид рабочего листа с формулами

10. Уточнение корней системы линейных уравнений методом Якоби с помощью таблицы вычислений (в качестве начального приближения выбрать значения столбца ):

Вид рабочего листа с результатом расчета

Вид рабочего листа с формулами

Примечание: Фигурные скобки означают, что соответствующая формула выводится массивом, т. е. с использованием комбинации Ctrl + Shift + Enter.

Уточнение корня с использованием режима Итерации MS Excel (вручную):

создать копию листа: Правка – Переместить/Скопировать лист…, на которой удалить ячейки с итерационным процессом:

настроить MS Excel на выполнение итераций вручную: Сервис – Параметры – Вычисления – вручную; итерации разрешить, Предельное число итераций – 1, Относительная погрешность – 0,001;

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

нажимать клавишу F9, наблюдая за поведением погрешности:

После окончания вычислительного процесса выполнить: Сервис – Параметры – Вычисления и вернуть предустановленные настройки.

Лабораторная работа 7. Итерационные методы решения систем линейных уравнений

Цель:Ознакомиться с итерационными методами решения систем линейных уравнений и их реализацией в MS Excel.

Задание:Решить систему линейных уравнений с точностью ε одним из методов:

1) Зейделя, e = 10–6;

 

Алгоритм

Выписать для системы матрицу коэффициентов и вектор правой части .

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

,
,
элементы столбца :

.

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

Задать вектор нулевого приближения .

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

Окончание итерационного процесса:

оценить погрешность ;

итерационный процесс заканчивается, как только .

Реализация в MS Excel

Расположить на листе исходные данные и уточнить корни системы линейных уравнений методом Зейделя с помощью таблицы вычислений (в качестве начального приближения выбрать значения столбца F):

Вид рабочего листа с результатом расчета

Вид рабочего листа с формулами

Уточнение корня с использованием режима Итерации MS Excel (вручную):

создать копию листа: Правка – Переместить/Скопировать лист…, на которой удалить ячейки с итерационным процессом:

настроить MS Excel на выполнение итераций вручную: Сервис – Параметры – Вычисления – вручную; итерации разрешить, Предельное число итераций – 1, Относительная погрешность – 0,001;

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

нажимать клавишу F9, наблюдая за поведением погрешности:

После окончания вычислительного процесса выполнить: Сервис – Параметры – Вычисления и вернуть предустановленные настройки.

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

и снова провести расчет:

После окончания вычислительного процесса выполнить: Сервис – Параметры – Вычисления и вернуть предустановленные настройки.

Лабораторная работа 8. Теория приближений функций

Цель: Ознакомиться с численными методами получения аналитической зависимости по экспериментальным точкам и их реализацией в MS Excel.

Задание:

1)Найти приближенное значение функции при заданном значении аргумента с помощью интерполяционного полинома Лагранжа, если функция задана в не равноотстоящих узлах; , ; ;

2)Оценить погрешность полученного значения.

 

Вопросы самоконтроля.

1) Постановка задачи интерполирования. Геометрическая иллюстрация.

2) В чем различие между задачами интерполяции и задачами экстраполяции?

3) Привести формулу Лагранжа. Дать оценку погрешности.

4) Как выглядит формула Лагранжа для равностоящих узлов?

5) От чего зависит точность получаемого формулой Лагранжа результата?

6) Когда полином порядка будет аппроксимирован формулой Лагранжа с наименьшей погрешностью?

 

⇐ Предыдущая12345678Следующая ⇒



Читайте также:



Как правильно слушать собеседника

Типичные ошибки при выполнении бросков в баскетболе

Принятие христианства на Руси и его значение

Средства массовой информации США



Последнее изменение этой страницы: 2016-04-26; просмотров: 3257; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia. su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь — 176.9.44.166 (0.064 с.)

Точное решение уравнения

Для поиска точного решения уравнения, рассмотренного в разделе Графическое решение уравнений, будем использовать инструмент Поиск решения.

Это специальная надстройка Excel, которая по умолчанию отключена. Чтобы ее включить необходимо выполнить следующие действия: кнопка Office → внизу Параметры Excel → слева Надстройки → справа внизу щелкнуть кнопку Перейти…:

В открывшемся окне нужно поставить “галочку” напротив пункта Поиск решения и нажать OK:

Теперь на вкладке Данные в группе Анализ станет доступна кнопка Поиск решения, которая вызывает соответствующее диалоговое окно:

В диалоговом окне
Поиск решения устанавливаем следующие параметры:
  1. Установить целевую ячейку: $D$17 (это первая ячейка из столбца D с наиболее близким к нулю значением. В рассмотренном примере два корня, и наиболее близкие к нулю значения (разностной функции f1-f2) соответствуют ячейкам D17 и D23).
  2. Равной: значению: 0 (если это будет так, то функции f1 и f2 будут равны и, следовательно, значение x будет первым корнем).
  3. Изменяя ячейки: $E$4:$E$5 (разрешаем менять границы изменения аргумента функций x для нахождения корней уравнения).
  4. Ограничения: (нужно добавить три условия):
    • Кнопка Добавить$E$4 ≤ $E$5 (это ограничение устанавливает, что границы области построения функций не могут поменяться местами — начальное значение x не может стать больше конечного значения x) → кнопка OK.
    • Кнопка Добавить$E$4 ≥ $F$4 (это ограничение устанавливает, что начальное значение x может только увеличиваться) → кнопка OK.
    • Кнопка Добавить$E$5 ≤ $F$5 (это ограничение устанавливает, что конечное значение x может только уменьшаться) → кнопка OK.

Теперь нажимаем кнопку Выполнить:

Оставляем пункт Сохранить найденное решение → кнопка OK (предварительно убедившись, что в ячейке D17 получилось нулевое значение).

Теперь в ячейке A17 будет записано точное значение первого корня уравнения. При этом изменится значение Xk в ячейке E5.

Затем надо выделить всю строку таблицы A17:D17 с найденным корнем и скопировать ее в область результатов (для дальнейшего переноса в отчет) ниже основной таблицы. Причем копировать надо ЗНАЧЕНИЯ (иначе из-за использования относительной ссылки в формуле первого столбца, на новое месте скопируется измененная соответствующим образом формула и значение x, вычисленное по этой формуле, не будет корнем). Рассмотрим, как это сделать.

Копирование из ячеек значений, а не формул

Иногда при копировании содержимого какой-то области рабочего листа необходимо вставить только значения (результаты расчетов по формулам), а не сами формулы. В данном случае нам надо скопировать ЗНАЧЕНИЕ КОРНЯ УРАВНЕНИЯ (точнее — всю строку таблицы).

Для этого копируем исходную область (A17:D17) обычным способом, но для вставки в новое место используем нижнюю часть большой кнопки Вставить на вкладке Главная в группе Буфер обмена:

В открывшемся списке выбираем пункт Вставить значения:

Теперь восстанавливаем начальные значения ячеек E4:E5, так как одна из них изменится (возвращаем основную таблицу и диаграмму в первоначальный вид) и ищем второй корень уравнения (целевая ячейка теперь $D$23):

В результате получим:

Выделяем всю строку таблицы A23:D23 с найденным вторым корнем и копируем ее в область результатов, вставляя ЗНАЧЕНИЯ. Затем восстанавливаем начальные значения ячеек E4:E5 и форматируем область результатов:

Копирование и переименование рабочих листов в Excel

Лабораторные работы выполняются в одной рабочей книге Excel (в одном файле типа *.xlsx). Каждая работа находится на одном или нескольких листах рабочей книги. На ярлыках листов пишется номер работы и режим отображения. Например, ЛР-1 (Значения) или ЛР-1 (Формулы).

После того, как лабораторная работа полностью выполнена на одном из рабочих листов (в режиме отображения значений), нужно переименовать рабочий лист (например, Лист1) в соответствии с номером лабораторной работы и режимом отображения (например, ЛР-1 (Значения)).

Для этого правой кнопкой мыши щелкаем по ярлыку Лист1 (внизу рабочего окна слева), в контекстном меню выбираем пункт Переименовать, затем вводим новое имя и нажимаем клавишу <Enter>:

Теперь создаем копию этого листа. Для этого правой кнопкой мыши щелкаем по ярлыку рабочего листа (например, ЛР-1 (Значения)), в контекстном меню выбираем пункт Переместить/Скопировать…:

В открывшемся окошке ставим “галочку” в пункте Создать копию и выбираем место расположения:

Копию рабочего листа можно создать другим способом. Нажимаем ЛЕВУЮ кнопку мыши на ярлыке текущего рабочего листа, затем (не отпуская) нажимаем клавишу <Ctrl>. Теперь не отпуская обе кнопки, перемещаем маленькую иконку с крестиком вдоль ярлычков других листов. В нужном месте отпускаем сначала кнопку мыши, а затем клавишу <Ctrl>.

Переименовываем новый лист (например, в ЛР-1 (Формулы)), затем удаляем с листа формул все ненужные объекты (математический текст из редактора формул, диаграммы, результаты нахождения корней и т.п.). Этот лист понадобится для проверки формул в отчете, поэтому нужно включить на этом листе РЕЖИМ ОТОБРАЖЕНИЯ ФОРМУЛ (по умолчанию включен режим отображения значений).

Режим формул

Для того, чтобы в ячейках рабочего листа отображались не результаты вычислений по формулам, а сами формулы, нужно включить режим формул: кнопка Office → внизу Параметры Excel → слева Дополнительно → справа поставить “галочку” в пункте Показывать формулы, а не их значения в середине окна (в группе Показать параметры для следующего листа):

Удобнее включать режим формул маленькой кнопкой Показать формулы в группе Зависимости формул на вкладке Формулы:

« Назад

Вперед »

Учебное пособие по Решателю Excel с пошаговыми примерами

В этом учебном пособии объясняется, как добавить и где найти Решатель в различных версиях Excel с 2016 по 2003 год. Пошаговые примеры показывают, как использовать Решатель Excel для поиска оптимальных решения для линейного программирования и других видов задач.

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

В этом руководстве мы рассмотрим все основные аспекты надстройки Excel Solver и предоставим пошаговое руководство по ее наиболее эффективному использованию.

  • Что такое Solver в Excel?
  • Как добавить решатель в Excel
  • Как использовать Solver в Excel
  • Примеры решения Excel
  • Как сохранить и загрузить модели Excel Solver
  • Алгоритмы Excel Solver

Что такое решатель Excel?

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

Надстройка Excel Solver особенно полезна для решения задач линейного программирования, также называемых задачами линейной оптимизации, и поэтому иногда называется решателем линейного программирования . Кроме того, он может решать гладкие нелинейные и негладкие задачи. Дополнительные сведения см. в разделе Алгоритмы Excel Solver.

Хотя Solver не может решить каждую возможную проблему, он действительно полезен при работе со всевозможными проблемами оптимизации, когда вам нужно принять наилучшее решение. Например, он может помочь вам максимизировать возврат инвестиций, подобрать оптимальный бюджет для вашей рекламной кампании, составить оптимальный график работы ваших сотрудников, минимизировать затраты на доставку и так далее.

Как добавить Solver в Excel

Надстройка Solver включена во все версии Microsoft Excel, начиная с 2003, но по умолчанию она не включена.

Чтобы добавить Solver в Excel, выполните следующие действия:

  1. В Excel 2010 — Excel 365 щелкните Файл > Параметры .
    В Excel 2007 нажмите кнопку Microsoft Office , а затем щелкните Параметры Excel .
  2. В диалоговом окне Параметры Excel нажмите Надстройки на левой боковой панели, убедитесь, что Надстройки Excel выбраны в поле Управление в нижней части окна, и нажмите Перейти .
  3. В диалоговом окне Add-Ins установите флажок Надстройка Solver и нажмите OK :

Чтобы получить Solver для Excel 2003 , перейдите в меню Инструменты и щелкните Надстройки . В списке надстроек доступных установите флажок надстройка Solver и нажмите OK .

Примечание. Если Excel отображает сообщение о том, что надстройка Solver в настоящее время не установлена ​​на вашем компьютере, нажмите Да для установки.

Где находится Solver в Excel?

В современных версиях Excel кнопка Solver появляется на вкладке Data , в группе Analysis :

Где находится Solver в Excel 2003?

После того, как надстройка Solver загружена в Excel 2003, ее команда добавляется в меню Tools :

Теперь, когда вы знаете, где найти Solver в Excel, откройте новый рабочий лист и приступим!

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

Как использовать Solver в Excel

Перед запуском надстройки Excel Solver сформулируйте модель, которую вы хотите решить, на листе. В этом примере давайте найдем решение следующей простой задачи оптимизации.

Проблема . Предположим, вы владелец салона красоты и планируете предоставлять своим клиентам новую услугу. Для этого вам необходимо купить новое оборудование стоимостью 40 000 долларов США, которое необходимо оплатить в рассрочку в течение 12 месяцев.

Цель : Рассчитать минимальную стоимость услуги, которая позволит вам оплатить новое оборудование в указанные сроки.

Для этой задачи я создал следующую модель:

А теперь давайте посмотрим, как Excel Solver может найти решение этой проблемы.

1.
Запустите Excel Solver

На вкладке Data в группе Analysis нажмите кнопку Solver .

2. Определите проблему

Solver Parameters откроется окно, в котором вы должны настроить 3 основных компонента:

  • Целевая ячейка
  • Переменные ячейки
  • Ограничения

Что именно делает Excel Solver с указанными выше параметрами? Он находит оптимальное значение (максимальное, минимальное или заданное) для формулы в ячейке Цель путем изменения значений в ячейках Переменная и с учетом ограничений в ячейках Ограничения .

Цель

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

В этом примере целевой ячейкой является B7, которая рассчитывает срок платежа по формуле =B3/(B4*B5) , и результат формулы должен быть равен 12:

Переменные ячейки

Переменные ячейки ( Изменяющиеся ячейки или Настраиваемые ячейки в более ранних версиях) — это ячейки, содержащие переменные данные, которые можно изменить для достижения цели. Excel Solver позволяет указать до 200 переменных ячеек.

В этом примере у нас есть пара ячеек, значения которых можно изменить:

  • Прогнозируемое количество клиентов в месяц (B4), которое должно быть меньше или равно 50; и
  • Стоимость услуги (B5), которую должен рассчитать Excel Solver.

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

Ограничения

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

Чтобы добавить ограничения, выполните следующие действия:

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

  • В окне Constraint введите ограничение.
  • Нажмите кнопку Добавить , чтобы добавить ограничение в список.

  • Продолжайте вводить другие ограничения.
  • После того, как вы ввели окончательное ограничение, нажмите OK для возврата в главное окно Solver Параметры .

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

  • Меньше или равно , равно и больше или равно . Вы устанавливаете эти отношения, выбирая ячейку в поле Ссылка на ячейку , выбирая один из следующих знаков: <= , =, или >= , а затем введите число, ссылку на ячейку/имя ячейки или формулу в поле Constraint (см. скриншот выше).
  • Целое число . Если указанная ячейка должна быть целым числом, выберите int , и слово integer появится в поле Constraint .
  • Различные значения . Если каждая ячейка в указанном диапазоне должна содержать другое значение, выберите dif и слово AllDifferent появится в поле Constraint .
  • Двоичный . Если вы хотите ограничить ссылочную ячейку значением 0 или 1, выберите bin , и слово binary появится в поле Constraint .

Примечание. Отношения int , bin и dif можно использовать только для ограничений переменных ячеек.

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

  • В диалоговом окне Solver Parameters щелкните ограничение.
  • Чтобы изменить выбранное ограничение, нажмите Изменить и внесите необходимые изменения.
  • Чтобы удалить ограничение, нажмите кнопку Удалить .

В этом примере ограничения таковы:

  • B3=40000 — стоимость нового оборудования 40000 долларов.
  • B4<=50 - прогнозируемое количество пациентов в месяц в возрасте до 50 лет.

3. Решить задачу

После настройки всех параметров нажмите кнопку Решить в нижней части окна Параметры решателя (см. скриншот выше) и дайте надстройке Excel Solver найти оптимальное решение вашей проблемы.

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

Когда Solver закончит обработку, он отобразит 9 OK :

Окно Solver Result закроется, и решение сразу появится на листе.

В этом примере в ячейке B5 отображается $66,67, что является минимальной стоимостью за услугу, которая позволит вам оплатить новое оборудование через 12 месяцев, при условии, что в месяц будет по крайней мере 50 клиентов:

Чаевые:

  • Если Excel Solver слишком долго обрабатывал определенную проблему, вы можете прервать процесс, нажав клавишу Esc. Excel пересчитает рабочий лист с последними значениями, найденными для ячеек Variable .
  • Чтобы получить дополнительные сведения о решенной проблеме, щелкните тип отчета в поле Reports , а затем щелкните OK . Отчет будет создан на новом листе:
  • .

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

Примеры Excel Solver

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

Решатель Excel, пример 1 (магический квадрат)

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

Например, знаете ли вы решение для квадрата 3×3, содержащего числа от 1 до 9?где каждая строка, столбец и диагональ в сумме дают 15?

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

Для начала введите числа от 1 до 9 в таблицу, состоящую из 3-х строк и 3-х столбцов. Решателю Excel на самом деле не нужны эти числа, но они помогут нам визуализировать проблему. Что действительно нужно надстройке Excel Solver, так это формулы SUM, которые суммируют каждую строку, столбец и 2 диагонали:

Со всеми формулами запустите Solver и настройте следующие параметры:

  • Set Objective . В этом примере нам не нужно устанавливать какую-либо цель, поэтому оставьте это поле пустым.
  • Переменные ячейки . Мы хотим заполнить числами ячейки от B2 до D4, поэтому выберите диапазон B2:D4.
  • Ограничения . Должны быть соблюдены следующие условия:
    • $B$2:$D$4 = AllDifferent — все ячейки переменных должны содержать разные значения.
    • $B$2:$D$4 = целое число — все ячейки переменных должны быть целыми числами.
    • $B$5:$D$5 = 15 — сумма значений в каждом столбце должна быть равна 15.
    • $E$2:$E$4 = 15 — сумма значений в каждой строке должна быть равна 15.
    • $B$7:$B$8 = 15 — сумма обеих диагоналей должна быть равна 15.

Наконец, нажмите кнопку Решить , и решение уже готово!

Excel Solver, пример 2 (задача линейного программирования)

Это пример простой задачи оптимизации транспортировки с линейной целью. Более сложные модели оптимизации такого рода используются многими компаниями для ежегодной экономии тысяч долларов.

Проблема : Вы хотите минимизировать стоимость доставки товаров с 2 разных складов 4 различным клиентам. Каждый склад имеет ограниченное предложение, и у каждого клиента есть определенный спрос.

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

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

Вот как выглядит наша задача оптимизации транспортировки:

Формулировка модели

Чтобы определить нашу задачу линейного программирования для Excel Solver, давайте ответим на 3 основных вопроса:

  1. Какие решения должны быть сделанный? Мы хотим рассчитать оптимальное количество товара для доставки каждому покупателю с каждого склада. Это переменных ячеек (B7:E8).
  2. Какие ограничения? Запасы, доступные на каждом складе (I7:I8), не могут быть превышены, и должно быть доставлено количество, заказанное каждым клиентом (B10:E10). это Ограничено ячеек.
  3. Какова цель? Минимальная общая стоимость доставки. А это наша ячейка Objective (C12).

Следующее, что вам нужно сделать, это рассчитать общее количество товаров, отгруженных с каждого склада (G7:G8), и общее количество товаров, полученных каждым клиентом (B9:E9). Вы можете сделать это с помощью простых формул суммы, показанных на снимке экрана ниже. Кроме того, вставьте формулу СУММПРОИЗВ в C12 для расчета общей стоимости доставки:

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

Название диапазона Клетки Параметр решающей программы
Отгруженные товары В7:Е8 Переменные ячейки
В наличии И7:И8 Ограничение
Всего отправлено G7:G8 Ограничение
Заказано В10:Е10 Ограничение
Всего_получено В9:Е9 Ограничение
Стоимость доставки С12 Объектив

Последнее, что вам осталось сделать, это настроить параметры Excel Solver:

  • Цель: Shipping_cost установить на Min
  • Переменные ячейки: Products_shipped
  • Ограничения: Всего_получено = Заказано и Всего_отгружено <= Доступно

Обратите внимание, что в данном примере мы выбрали метод решения Simplex LP , потому что мы имеем дело с задачей линейного программирования. Если вы не уверены, какая у вас проблема, вы можете оставить метод решения GRG Nonlinear по умолчанию. Для получения дополнительной информации см. Алгоритмы Excel Solver.

Solution

Нажмите кнопку Solve внизу окна Solver Parameters , и вы получите ответ. В этом примере надстройка Excel Solver рассчитала оптимальное количество товаров для доставки каждому покупателю с каждого склада с минимальной общей стоимостью доставки:

Как сохранить и загрузить сценарии Excel Solver

При решении определенной модели может потребоваться сохранить значения ячеек Variable в качестве сценария, который можно просмотреть или повторно использовать позже.

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

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

Сохранение модели

Чтобы сохранить сценарий решателя Excel, выполните следующие действия:

  1. Откройте рабочий лист с рассчитанной моделью и запустите решатель Excel.
  2. В параметрах решателя , нажмите кнопку Загрузить/Сохранить .
  3. Excel Solver сообщит вам, сколько ячеек необходимо для сохранения вашего сценария. Выберите столько пустых ячеек и нажмите Сохранить :
  4. Excel сохранит вашу текущую модель, которая может выглядеть примерно так:

В то же время появится окно Solver Parameters , где вы можете изменить свои ограничения и попробовать различные варианты «что, если».

Загрузка сохраненной модели

Когда вы решите восстановить сохраненный сценарий, сделайте следующее:

  1. В окне Параметры решателя нажмите кнопку Загрузить/Сохранить .
  2. На рабочем листе выберите диапазон ячеек, содержащих сохраненную модель, и нажмите Загрузить :
  3. В диалоговом окне Загрузить модель нажмите кнопку Заменить :
  4. Откроется главное окно Excel Solver с параметрами ранее сохраненной модели. Все, что вам нужно сделать, это нажать на Кнопка «Решить » для пересчета.

Алгоритмы решателя Excel

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

  • GRG Нелинейный. Обобщенный редуцированный градиентный нелинейный алгоритм используется для задач, которые являются гладкими нелинейными, т.е. в которых хотя бы одно из ограничений является гладкой нелинейной функцией переменных решения. Более подробную информацию можно найти здесь.
  • LP Симплекс . Метод Simplex LP Solving основан на алгоритме Simplex, созданном американским ученым-математиком Джорджем Данцигом. Он используется для решения так называемых задач линейного программирования — математических моделей, требования к которым характеризуются линейными отношениями, т.е. состоят из одной цели, представленной линейным уравнением, которое необходимо максимизировать или минимизировать. Для получения дополнительной информации, пожалуйста, посетите эту страницу.
  • Эволюционный . Он используется для негладких задач, которые представляют собой наиболее сложный тип задач оптимизации, потому что некоторые функции не являются гладкими или даже прерывистыми, и поэтому трудно определить направление, в котором функция увеличивается или уменьшается. Для получения дополнительной информации см. эту страницу.

Чтобы изменить способ поиска решения Solver, нажмите кнопку Options в диалоговом окне Solver Parameters и настройте любые или все параметры в GRG Нелинейный , Все методы и Эволюционный вкладки.

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

Вас также может заинтересовать

4 PRO Способы создания поля поиска с фильтрацией [Excel Download]

Создание окна поиска в Excel

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

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

Навигация по решению статьи:
  1. • Поле поиска с фильтрацией — поиск по одному столбцу (без кода VBA)
  2. • Поле поиска с фильтрацией — поиск по нескольким столбцам (без кода VBA)
  3. • Фильтрация окна поиска — поиск по мере ввода (без кода VBA)
  4. • Фильтрация окна поиска — кнопка поиска (решение для макросов VBA)
  5. • Загрузить пример файла Excel (все решения)

Примеры того, что мы создадим:

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

ПРИМЕЧАНИЕ О СОВМЕСТИМОСТИ: Для всех решений, отличных от VBA, потребуется функция Filter Dynamic Array . Эта функция была выпущена в Microsoft 365 и Excel 2021+.

Поле поиска с фильтрацией — поиск по одному столбцу

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

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

Настройка электронной таблицы

В этом примере необработанные данные хранятся на отдельной вкладке электронной таблицы внутри объекта таблицы Excel (Ctrl + t). Для ясности я переименовал таблицу в DataTable .

Формула заголовка таблицы

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

=DataTable[#Headers]

Кнопки выбора для выбора столбца поиска

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

Чтобы добавить кнопку выбора в электронную таблицу, вам потребуется перейдите на вкладку «Разработчик» на ленте Excel. После выбора вкладки «Разработчик» вам нужно будет открыть кнопку меню «Вставка» и щелкнуть значок кнопки выбора . Затем вы можете приступить к рисованию элемента управления «Кнопка выбора» в электронной таблице.

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

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

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

  1. правой кнопкой мыши одну из кнопок выбора

  2. Выберите Управление форматом…

  3. Заполните текстовое поле Ссылка на ячейку

  4. Нажмите OK

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

Формула тела таблицы для отфильтрованных данных

Наконец, вам нужно будет написать формулу для самой поисковой системы. Эта логика может содержаться в одном массиве Formula . В этой формуле 3 части:

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

  2. Функции IsNumber/Search — Поскольку функция фильтра не имеет подстановочных знаков, существует творческий обходной путь , который мы можем использовать, чтобы предоставить нам эту функциональность. Это позволяет нам выполнять поиск с частичным соответствием или подстановочными знаками.

  3. Функция индекса — определяет, в каком столбце выполняется поиск. Поскольку он направляет ввод своего столбца на вывод ваших кнопок выбора , он позволит комбинации IsNumber/Search просматривать только один столбец в вашей таблице данных.

= ФИЛЬТР (Таблица данных, ISNUMBER ( ПОИСК ($C$2, ИНДЕКС (DataTable,0,$I$2))),»Нет результатов!»)

5 900 Формула поисковой системы была интегрирована в наш пример. Обратите внимание, что оба Ячейка поиска и ячейка ссылки кнопки выбора упоминаются в формуле.

Поле поиска с фильтрацией — формула поиска по нескольким столбцам

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

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

Настройка электронной таблицы

В этом примере необработанные данные хранятся на отдельной вкладке электронной таблицы внутри объекта таблицы Excel (Ctrl + t). Для ясности я переименовал таблицу в DataTable .

Формула заголовка таблицы

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

Формула тела таблицы для отфильтрованных данных

Наконец, вам нужно будет написать формулу для самой поисковой системы. Эта логика может содержаться в одном массиве Formula . Эта формула состоит из 4 частей:

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

  2. Функции IsNumber/Search — Поскольку функция фильтра не имеет подстановочных знаков, существует творческий обходной путь , который мы можем использовать, чтобы предоставить нам эту функциональность. Это позволяет нам выполнять поиск с частичным соответствием или подстановочными знаками.

  3. Функция индекса — определяет, в каком столбце выполняется поиск. Поскольку он указывает вход своего столбца на выход ваших кнопок выбора , он позволит IsNumber/Search , чтобы просмотреть только один столбец в таблице данных.

  4. Зацикливание столбцов . Чтобы получить эффект зацикливания или циклирования столбцов для нашей поисковой системы, нам действительно нужно будет выполнить нашу функцию фильтра несколько раз (по одному для каждого столбца, в котором мы хотим выполнить поиск). К счастью, поскольку функция Filter имеет вход If_Empty , мы можем просто выполнить другую функцию Filter, указывающую на новый столбец, если в предыдущем столбце не найдено результатов.

Ниже приведена формула, используемая для нашего примера. Обратите внимание, что функция фильтра повторяется 5 раз для 5 столбцов в нашем наборе данных. Формулы точно такие же, за исключением того, что функция индекса ссылается на другой номер столбца в каждой функции фильтра.

В конце концов, если фильтровать нечего после циклического просмотра всех пяти столбцов, появится сообщение «Результатов нет!» отображается пользователю.

= ФИЛЬТР (Таблица данных, ISNUMBER ( ПОИСК ($C$2, ИНДЕКС (DataTable,0,1))),
ФИЛЬТР (DataTable, ISNUMBER ( ПОИСК ($C$2, ИНДЕКС (DataTable,0,2))) ,
Фильтр (DataTable, ISnumber ( Search ($ C $ 2, Индекс (DataTable, 0,3)),
Filter (DataTable, ),
(Datatable, ),
(Datatable, ). $2, ИНДЕКС (DataTable,0,4))),
ФИЛЬТР (DataTable, ISNUMBER ( ПОИСК ($C$2, 9)0681 ИНДЕКС
(DataTable,0,5))),»Нет результатов!»)))))

Вот как формула поисковой системы была интегрирована в наш пример.

Поле поиска с фильтрацией — по мере ввода

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

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

Настройка электронной таблицы

В этом примере необработанные данные хранятся на отдельной вкладке электронной таблицы внутри объекта таблицы Excel (Ctrl + t). Для ясности я переименовал таблицу в DataTable .

Формула заголовка таблицы

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

Добавить текстовое поле ActiveX

Формула тела таблицы для отфильтрованных данных

Мы собираемся использовать ту же формулу Excel для нашего механизма фильтрации, что и в предыдущем решении (вы можете найти более подробную информацию о логике здесь ). Единственная разница будет заключаться в том, что вместо того, чтобы указывать функцию поиска на поле поиска в ячейке C2 , мы собираемся указать ее на ячейку, с которой мы связали наше текстовое поле ActiveX (в этом примере Cell I2 ).

Вот как формула поисковой системы была интегрирована в наш пример.

= ФИЛЬТР (Таблица данных, ISNUMBER ( ПОИСК ($I$2, 9)0681 ИНДЕКС (Таблица данных,0,1))),
ФИЛЬТР (Таблица данных, ISNUMBER ( ПОИСК ($I$2, ИНДЕКС (Таблица данных,0,2))),

ФИЛЬТР Таблица данных, ISNUMBER ( ПОИСК ($I$2, ИНДЕКС (DataTable,0,3))),
ФИЛЬТР (DataTable, ISNUMBER ( 60681 DataTable,0,4))),
ФИЛЬТР (DataTable, ISNUMBER ( ПОИСК ($I$2, ИНДЕКС 9)0682 (DataTable,0,5))),»Результатов нет!»)))))

Фильтрация окна поиска — решение VBA

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

Изобразите себя с помощью кнопок выбора

Вместо того, чтобы позволить вашим пользователям фильтровать только по одному столбцу, почему бы не позволить им выполнять поиск по нескольким? Интегрировав кнопки выбора с полем поиска, вы можете позволить своим пользователям указать, в каком столбце они хотят выполнять поиск. Чтобы вставить кнопки выбора, вам нужно будет

  1. перейти на вкладку разработчика на ленте

  2. Нажмите кнопку раскрывающегося списка Вставить в Элементы управления группа

  3. Выберите Option Button Form Control (первая строка, последний значок)

  4. Теперь ваша мышь должна выглядеть как перекрестие, и вам нужно просто щелкнуть где-нибудь в электронной таблице, чтобы нарисовать Option Button

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

Одна ловушка

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

  1. Вместо использования текстового поля управления формой вы можете использовать либо Cell , либо ActiveX Textbox для хранения текста поиска (у меня есть строки кода в приведенном ниже VBA закомментированы макросы, которые могут справиться с этими ситуациями)

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

Обычно я выбираю более короткий путь, так как мне нравится иметь возможность размещать поле поиска в любом месте электронной таблицы. Кроме того, элементы управления ActiveX иногда могут давать сбои в зависимости от используемой версии Office, поэтому будьте осторожны, если в конечном итоге вы воспользуетесь этим маршрутом.

Именование ваших объектов

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

Как правило, вы увидите имя по умолчанию «Текстовое поле 1», однако вы можете изменить это имя на более значимое, например «UserSearch». Убедитесь, что вы нажали клавишу Enter сразу после ввода нового имени, чтобы применить изменение имени! Если вы щелкнете за пределами поля имени, прежде чем нажать Enter, ваше текстовое поле вернется к своему прежнему имени.

Для дополнительных кнопок , 9 шт.0682 вам не нужно будет менять имена их объектов (если вы действительно этого не хотите). Однако вам необходимо убедиться, что их текст дословно соответствует заголовкам данных, по которым вы будете фильтровать. Обратите внимание, что все мои примеры кнопок выбора имеют тот же текст, что и заголовки в моих данных. Это ЧРЕЗВЫЧАЙНО важно, так как приведенный ниже код VBA будет фильтровать на основе текста, связанного с выбранной кнопкой выбора.

Поиск только текста

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

Чтобы настроить этот код с вашими данными, вам нужно указать диапазон данных для переменной DataRange , а также изменить имя текстового поля внутри ссылки Shapes . Если ваши данные не начинаются в столбце A, вам может потребоваться добавить или вычесть из переменной myField , чтобы убедиться, что вы фильтруете правильный номер столбца, связанный с вашим набором данных.

Sub SearchBox()
‘НАЗНАЧЕНИЕ: Фильтрация данных по определяемому пользователем столбцу и тексту
‘ИСТОЧНИК: www.TheSpreadsheetGuru.com

Dim myButton As OptionButton
Dim MyVal As Long
Dim ButtonName As String
Dim sht As Worksheet
Dim myField As Long
Dim DataRange As Range
Dim mySearch As Range
Dim mySearch As Long 900 в переменную
  Set sht = ActiveSheet

‘Отменить фильтрацию данных (при необходимости)
  При ошибке возобновить далее
    sht.ShowAllData
  При ошибке Перейти к 0
  
‘Диапазон отфильтрованных данных (включая ячейки заголовков столбцов)
  Set DataRange = sht.Range(«A4:E31») ‘Диапазон ячеек
  ‘Set DataRange = sht.ListObjects(«Table1»). Range ‘Table

‘Получить ввод пользователя для поиска
  mySearch = sht.Shapes(«UserSearch «).TextFrame.Characters.Text ‘Форма управления
  ‘mySearch = sht.OLEObjects(«UserSearch»).Object.Text ‘ActiveX Control
  ‘mySearch = sht.Range(«A1»).Value ‘Ввод ячейки

‘ Цикл по кнопкам выбора
  Для каждой кнопки myButton в ActiveSheet.OptionButtons
      Если myButton.Value = 1, то
ButtonName = myButton.text
Exit для
End If
Next MyButton

‘Определить поле фильтра
на ошибке goto headingnotfound
myfield = application.worksheetfunction.match (buttonmame, dataRange.row 0

‘Filter Data
DataRange.autofilter _
Поле: = Myfield, _
Criteria1: = «=*» & MySearch & «*», _
Оператор: = XLAN

‘ Поиск поля
SHT.Shapes (= XLAND

«UserSearch»).TextFrame.Characters.Text = «» ‘Форма управления
  ‘sht.OLEObjects(«UserSearch»).Object.Text = «» ‘ActiveX Control
 »sht. Range(«A1»).Value = «» ‘Ввод ячейки

Exit Sub

‘ОБРАБОТЧИКИ ОШИБОК
HeadingNotFound:
  MsgBox «Заголовок столбца [» & ButtonName & «] не найден в ячейках » & DataRange.Rows(1).Address & «.» & _
    vbNewLine & «Проверьте возможные опечатки.», vbCritical, «Заголовок Имя не найдено!»
    
End Sub

Поиск текстовых и числовых значений

Этот код VBA точно такой же, как и предыдущий код, но в него добавлено несколько дополнительных строк для обработки как числового, так и текстового ввода от пользователя.

Sub SearchBox()
‘НАЗНАЧЕНИЕ: фильтрация данных по определяемому пользователем столбцу и текстовому/числовому значению
‘ИСТОЧНИК: www.TheSpreadsheetGuru.com As Worksheet
Dim myField As Long
Dim DataRange As Range
Dim MySearch As Variant

‘Загрузочный лист в переменную
SET SHT = ActiveSheet

‘ Данные о невозможных изделиях (при необходимости)
на ошибке резюме следующее
SHT. ShowallData
на ошибке GOTO 0

FILTERDADED DATA (включите столбец. ячейки заголовков)
  Set DataRange = sht.Range(«A4:E31») ‘Диапазон ячеек
  ‘Set DataRange = sht.ListObjects(«Table1»).Range ‘Table

‘Получить ввод пользователя при поиске
  mySearch = sht.Shapes («UserSearch»).TextFrame.Characters.Text ‘Форма управления
  ‘mySearch = sht.OLEObjects(«UserSearch»).Object.Text ‘ActiveX Control
  ‘mySearch = sht.Range(«A1»).Value ‘Ввод ячейки
  
‘Определить, ищет ли пользователь число или текст
  If IsNumeric(mySearch) = True Then
    SearchString = «=» & mySearch
  Else
    SearchString = «=*» & mySearch & «*»
  End If
    
If ‘Проход через кнопки выбора
Button 0 Option 8 9 For Each my Buttons In sht. myButton.Value = 1 Then
      ButtonName = myButton.Text
Exit для
End If
Next MyButton

‘определить поле фильтра
на ошибке goto headingnotfound
myfield = application. worksheetfunction.match (Buttonname, Datarange.rows (1), 0)
на ошибке goto 0

‘ Data Data (1), 0)
на ошибке goto 0


  DataRange.AutoFilter _
    Field:=myField, _
    Criteria1:=SearchString, _
    Operator:=xlAnd
  
‘Очистить поле поиска
=» ‘TextControl sht.Shapes(«UserSearch.arch») Форма
  ‘sht.OLEObjects(«UserSearch»).Object.Text = «» ‘ActiveX Control
  ‘sht.Range(«A1»).Value = «» ‘Ввод ячейки
  
Exit Sub

‘ОБРАБОТЧИКИ ОШИБОК
HeadingNotFound:
  MsgBox «Заголовок столбца [» & ButtonName & «] не найден в ячейках » & DataRange.Rows(1).Address & «.» & _
    vbNewLine & «Проверьте возможные опечатки.», vbCritical, «Заголовок Имя не найдено!»
  
End Sub

Связывание кода VBA с кнопкой поиска

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

Создание кнопки «Очистить фильтр»

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

Sub ClearFilter()
‘ЦЕЛЬ: Очистить все правила фильтрации

‘Очистить фильтры в ActiveSheet
  При ошибке Возобновить следующий
    ActiveSheet. ShowAllData
  При ошибке GoTo 0
  
End Sub

Получить файл примера

Если вы хотите получить копию файла Excel, который я использовал в этой статье, вы можете напрямую загрузить файл, нажав кнопку загрузки ниже.

Скачать пример файла

Об авторе

Привет! Меня зовут Крис, и в свободное время я веду сайт TheSpreadsheetGuru. Днём я на самом деле профессионал в области финансов, который довольно сильно полагается на Microsoft Excel в корпоративном мире. Мне нравится брать вещи, которые я узнаю в «реальном мире», и делиться ими со всеми здесь, на этом сайте, чтобы вы тоже могли стать гуру электронных таблиц в своей компании.

За годы работы в корпоративном мире я смог использовать возможности для улучшения работы с Excel и создал множество надстроек Excel , от вставки галочек до автоматического копирования/вставки из Excel. в PowerPoint. Если вы хотите быть в курсе последних новостей Excel и напрямую получать по электронной почте наиболее важные советы по Excel, которые я узнал за эти годы, вы можете подписаться на мои бесплатные информационные бюллетени . Я надеюсь, что смог предоставить вам некоторую ценность сегодня, и я надеюсь увидеть вас здесь снова в ближайшее время!

— Крис
Основатель TheSpreadsheetGuru.com

Поиск данных в Excel

Тепинг Крокер Категории: Excel®, Макросы Теги: Excel, Поиск в Excel, макрос

Вы ищете «арахисовое масло и шоколад» для повышения эффективности рабочего места: как совместить мощь макросов с удобством поиска?

Начиная с Office 2013, Excel не предоставляет easy способ включить переменный поисковый запрос в выполнение ряда задач, записанных в макросе. Под easy мы подразумеваем значение по умолчанию, которое можно указать для открытия окна поиска и последующего выполнения задач на основе ввода. Можно создать макросы, которые делают это, написав собственный код VBA, но что вы можете сделать, если вы не хотите нанимать программиста VBA или изучать VBA самостоятельно?

Следующие идеи относятся к нескольким возможным альтернативам для распространенных сценариев, которые могут привести к тому, что кто-то захочет включить условие поиска в макрос. Эти шаги применимы к Excel 2013. Изображения были сделаны с помощью Excel 2013 в ОС Windows 7.

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

Решение – Используйте функцию «Найти/Заменить» в макросе : Когда вы всегда ищете одно и то же , это тот случай, когда поиск и макросы хорошо сочетаются. Чтобы использовать наш пример, загрузите Excel Search, SalesByPeriod Sheet.

  1. Нажмите Запись макроса в группе Code на Developer
  2. Введите имя, описание и сочетание клавиш для макроса.
  3. Выполните поиск отделов, которые вы хотите изменить, используя CTRL+F и диалоговое окно «Найти/Заменить». Повторите столько разных поисков, сколько вам нужно, затем нажмите Остановить запись , чтобы закончить и сохранить макрос.

При запуске макроса Excel будет использовать те же условия поиска и замены, которые вы использовали при записи. Это может сэкономить вам много времени, если вы выполняете несколько поисков подряд и вносите несколько изменений форматирования при каждой замене.

 

 

Обратите внимание, что при запуске макроса диалоговое окно «Найти и заменить» не отображается. Макрос просто действует на данные.

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

Решение. Используйте функцию ПОИСК в формуле: Функция ПОИСК в Excel позволяет выполнять поиск символа или строки текста в большей текстовой строке и возвращать позицию текста, которую находит функция. Чтобы использовать наш пример, загрузите Excel Search, SEARCH function Sheet.

Синтаксис функции ПОИСК:  ПОИСК(искомый_текст, внутри_текста, [начальный_номер])

Обратите внимание, что в примере мы искали фразу «сад», которая возвращает число 31 (позиция, в которой был найден текст «сад») в К3 и ошибку в К4 (потому что текст не найден).

 

Теперь давайте воспользуемся этой формулой, чтобы сделать поиск более полезным. Наша окончательная формула сочетает ПОИСК с функцией ЕСЛИ и функцией ЕОШИБКА, чтобы вернуть вариант Истина/Ложь, который заменяет сообщение об ошибке текстом «Отправить открытку», когда «сад» не найден, и номер позиции с «Позвонить», когда «сад». ” находится в списке навыков и интересов волонтера.

 

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

Решение Использование функции ВПР

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

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

 

Введите любой возраст в специальное поле Enter, чтобы увидеть обновленные результаты:

 

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

ПРИОР+ 7 ДНЕЙ БЕСПЛАТНОГО ОБУЧЕНИЯ

Курсы по обслуживанию клиентов, Excel, управлению персоналом, лидерству, ОСАГО и многое другое. Нет кредитной карты. Без комментариев. Индивиды и команды.

НАЧАТЬ ПРОБНЫЙ ПЕРИОД


Создание выпадающего списка Excel с предложениями поиска

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

В этом руководстве вы узнаете, как создать в Excel раскрывающийся список с возможностью поиска, т. е. раскрывающийся список, в котором будут отображаться совпадающие элементы по мере ввода.

Ниже представлено видео этого урока (на случай, если вы предпочитаете смотреть видео, а не читать текст).

В этом уроке я использую данные 20 ведущих стран по ВВП.

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

Примерно так, как показано ниже:

Чтобы продолжить, загрузите файл примера отсюда

поисковая строка.

  • Установка данных.
  • Написание короткого кода VBA, чтобы заставить его работать.
  • Шаг 1. Настройка поля поиска

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

    Вот шаги для этого:

    1. Перейдите на вкладку «Разработчик» —> «Вставка» —> «Элементы управления ActiveX» —> «Поле со списком» (элемент управления ActiveX).
      • Возможно, вы не найдете вкладку разработчика на ленте. По умолчанию он скрыт и должен быть включен. Нажмите здесь, чтобы узнать, как получить вкладку разработчика на ленте в Excel.
    2. Переместите курсор в область рабочего листа и щелкните в любом месте. Он вставит поле со списком.
    3. Щелкните правой кнопкой мыши поле со списком и выберите «Свойства».
    4. В диалоговом окне свойств внесите следующие изменения:
      • AutoWordSelect: False
      • LinkedCell: B3
      • ListFillRange: DropDownList (с этим именем мы создадим именованный диапазон) MatchEntry: 2 – fmMatchEntryNone

    (ячейка B3 связана с полем со списком, что означает, что все, что вы вводите в поле со списком, вводится в поле B3)

    1. Перейдите на вкладку «Разработчик» и нажмите «Режим разработки». Это позволит вам ввести текст в поле со списком. Кроме того, поскольку ячейка B3 связана с полем со списком, любой текст, который вы вводите в поле со списком, также будет отражаться в ячейке B3 в режиме реального времени.

    Шаг 2. Установка данных

    Теперь, когда окно поиска настроено, нам нужно получить данные на месте. Идея состоит в том, что как только вы вводите что-либо в поле поиска, оно показывает только те элементы, в которых есть этот текст.

    Для этого мы будем использовать

    • Три вспомогательных столбца.
    • Один динамический именованный диапазон.

    Вспомогательный столбец 1

    Поместите следующую формулу в ячейку F3 и перетащите ее на весь столбец (F3:F22)

     = -- IЧИСЛО(ЕСЛИОШИБКА(ПОИСК($B$3,E3,1)," ")) 

    Эта формула возвращает 1, когда текст в поле со списком присутствует в названии страны слева. Например, если вы введете UNI, тогда будут доступны только значения для Uni ted States и Uni 9.0682 ted Королевство равно 1, а все остальные значения равны 0.

    Вспомогательный столбец 2

    Поместите следующую формулу в ячейку G3 и перетащите ее на весь столбец (G3:G22)

     =IF(F3=1 ,COUNTIF($F$3:F3,1),"") 

    Эта формула возвращает 1 для первого вхождения, где текст поля со списком соответствует названию страны, 2 для второго вхождения, 3 для третьего и так далее. Например, если вы наберете UNI, в ячейке G3 будет отображаться 1, поскольку это соответствует США, а G9будет отображаться 2, поскольку это соответствует Соединенному Королевству. Остальные ячейки будут пустыми.

    Вспомогательный столбец 3

    Поместите следующую формулу в ячейку h4 и перетащите ее на весь столбец (h4:h32)

     =ЕСЛИОШИБКА(ИНДЕКС($E$3:$E$22,ПОИСКПОЗ(СТРОКИ($G $3:G3),$G$3:$G$22,0)),"") 

    Эта формула объединяет все совпадающие имена вместе без пустых ячеек между ними. Например, если вы наберете UNI, в этом столбце будут показаны 2 и 9 вместе, а все остальные ячейки будут пустыми.

    Создание динамического именованного диапазона

    Теперь, когда вспомогательные столбцы готовы, нам нужно создать динамический именованный диапазон. Этот именованный диапазон будет ссылаться только на те значения, которые соответствуют тексту, введенному в поле со списком. Мы будем использовать этот динамический именованный диапазон для отображения значений в раскрывающемся списке.

    Примечание : На шаге 1 мы ввели DropDownList в опции ListFillRange. Теперь мы создадим именованный диапазон с тем же именем .

    Вот шаги для его создания:

    1. Перейдите в Формулы -> Диспетчер имен.
    2. В диалоговом окне диспетчера имен нажмите «Создать». Откроется диалоговое окно «Новое имя».
    3. В поле Имя введите DropDownList
    4. В поле Относится к введите формулу:  =$H$3:INDEX($H$3:$H$22,MAX($G$3:$G$22),1)

    Шаг 3 – Запуск кода VBA

    Мы почти закончили.

    Заключительная часть — написание короткого кода VBA. Этот код делает раскрывающийся список динамическим, чтобы он отображал совпадающие элементы/имена по мере ввода в поле поиска.

    Чтобы добавить этот код в книгу:

    1. Щелкните правой кнопкой мыши вкладку «Рабочий лист» и выберите «Просмотреть код».
    2. В окне VBA скопируйте и вставьте следующий код:
        Private Sub ComboBox1_Change() 
        ComboBox1. ListFillRange = "Выпадающий список" 
        Я.ComboBox1.DropDown 
        End Sub  

    Вот и все!!

    У вас есть собственная панель поиска типа Google, которая показывает совпадающие элементы по мере ввода.

    Для лучшего внешнего вида вы можете закрыть ячейку B3 полем со списком и скрыть все вспомогательные столбцы. Теперь вы можете немного покрасоваться с помощью этого удивительного трюка с Excel.

    Чтобы продолжить, загрузите файл отсюда

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

    Если вам понравился этот учебник, я уверен, вам также понравятся следующие уроки Excel:

    • Динамический фильтр — извлечение соответствующих данных во время ввода.
    • Извлечение данных на основе выбора из раскрывающегося списка.
    • Создание зависимых выпадающих списков в Excel.
    • Полное руководство по использованию функции ВПР в Excel.
    • Как сделать множественный выбор в раскрывающемся списке в Excel.
    • Как вставить и использовать флажок в Excel.

    Решатель Excel | Реальная статистика с использованием Excel

    Введение

    Excel предоставляет еще один инструмент итерации, более мощный, чем поиск цели, который называется Solver . В то время как Goal Seek позволяет найти решение уравнения f ( x ) ≈ a , Solver позволяет решать уравнения с несколькими неизвестными, например f ( x 1 , 2 ,…x n ) ≈ a . Это также позволяет вам найти значения x 1 , x 2 ,… x N , что максимизирует или минимизирует значение F ( x 1 , x 2 ,…… x 6666666671717171717171717171717171717171717171717171717171717171717. к ограничениям.

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

    Использование Решателя

    Для доступа к Решателю выберите Данные > Анализ|Решатель . Если вы не видите Solver в качестве выбора, вам нужно будет загрузить его в Excel. Это можно сделать следующим образом:

    • В версиях Excel, начиная с Excel 2010, выберите Файл > Справка|Параметры . В Excel 2007 нажмите кнопку Microsoft Office (см. верхний левый угол рисунка 1 в пользовательском интерфейсе Excel) и выберите Параметры Excel .
    • Щелкните Надстройки , а затем в поле Управление выберите Надстройки Excel
    • Выбрать Перейти
    • В поле Доступные надстройки установите флажок Надстройка Solver и нажмите OK .

    После доступа к Решателю появится диалоговое окно, содержащее следующие поля:

    • Установить цель : введите адрес ячейки (или щелкните ячейку). Это содержит формулу для f ( x 1 , x 2 , … x n ) как описано выше
    • Для : выберите один из трех переключателей: Max , Min , Value Of (и затем установите значение)
    • Путем изменения ячеек переменных: здесь вы указываете ячейки, содержащие x 1 , x 2 , … x n .

    Эти поля по функциям аналогичны трем полям в поиске цели, как описано выше, за исключением того, что у вас также есть возможность максимизации и минимизации для второго поля, и, что наиболее важно, вы можете изменить несколько ячеек в третьем поле. Кроме того, Solver предоставляет возможность установки ограничений. Это позволяет указать такие ограничения, как x 2 ≥ 0.

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

    Пример

    Пример 1 : Найдите коэффициенты регрессии для примера 1 метода наименьших квадратов для множественной регрессии с помощью Решателя.

    Левая часть рисунка 1 содержит данные из примера 1 метода наименьших квадратов для множественной регрессии. Ячейки F4, F5 и F6 содержат коэффициенты регрессии, для каждого из которых изначально задано значение 1. Столбец H содержит предсказанные значения цены на основе коэффициентов регрессии (например, ячейка h5 содержит формулу =A4*F5+B4*F6). +F4), а столбец J содержит ошибки (например, ячейка J4 содержит формулу =C4-h5).

    Рисунок 1. Исходная конфигурация для примера 1

    Наконец, ячейка F8 содержит значение SS E , которое вычисляется по формуле =СУММQ(J4:J14).

    Теперь мы выбираем Data > Analysis|Solver и заполняем поля в диалоговом окне, которое появляется, как показано на рисунке 2.

    чтобы минимизировать значение в ячейке F8 (которая содержит SS E ), изменив значения в диапазоне F4:F6, т.е. коэффициенты регрессии. Как только вы нажмете кнопку «Решить», появится диалоговое окно, показанное на рис. 3, в котором сообщается, что решение найдено. Рисунок 3. Подтверждение решения от Solver Рисунок 4– Нахождение коэффициентов регрессии с помощью Solver

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

    Дополнительные функции

    Если вы нажмете кнопку Options в диалоговом окне Solver (см. рис. 2), вы улучшите точность решений, полученных Solver. Например. вы можете изменить значения Точность ограничения по умолчанию 0,000001), Максимум Время ( Секунды ) и Итерации .

    Иногда Solver находит локальное минимальное или максимальное значение вместо глобального минимума или максимума. Это можно исправить, выбрав другие начальные значения. Вы можете сделать это автоматически, нажав кнопку Options в диалоговом окне Solver, а затем выбрав опцию Use Multistart на вкладке GRG Nonlinear диалогового окна Options . Решатель теперь будет запускаться несколько раз, используя разные начальные значения, выбирая значения, дающие наилучший результат. Цена этого варианта — более медленное время работы.

    Ссылка

    Служба поддержки Майкрософт (2019 г.) Определение и решение проблемы с помощью Solver
    https://support.microsoft.com/en-us/office/define-and-solve-a-problem-by- использование-решателя-5d1a388f-079d-43ac-a7eb-f63e45925040

    Оптимизационное моделирование с помощью Solver в Excel • Стивен Л. Нельсон

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

    EasyRefresher: как работает оптимизационное моделирование

    Предположим, вы работаете застройщиком и подрядчиком в сфере жилой недвижимости. Вы создаете и продаете два продукта: строительные участки и дома. Предположим, вы зарабатываете 20 000 долларов на каждом доме, который вы строите, и 15 000 долларов на каждом участке под застройку, который вы разрабатываете, а затем продаете. Ваша основная финансовая цель состоит в том, чтобы максимизировать прибыль, и эта цель может быть выражена в виде целевой функции или уравнения, которое вы хотите максимизировать:

    15 000$*Участки+20 000$*Дома=Прибыль

    Конечно, любая целевая функция ограничена определенными ограничениями. Чтобы продолжить рассмотрение вымышленного случая жилой застройки, предположим, что у вас есть два основных ограничивающих фактора: оборотный капитал и мощность бульдозера. Ваш оборотный капитал в размере 1 200 000 долларов США ограничивает количество участков и домов, которые вы можете ежегодно продавать, потому что каждый участок требует денежных вложений в размере 50 000 долларов, а каждый дом требует денежных вложений в размере 25 000 долларов. Тот факт, что у вас есть один бульдозер, доступный только на 3000 часов в год, также ограничивает количество участков и домов, которые вы можете ежегодно продавать, потому что каждый участок требует 80 часов бульдозера, а каждый дом требует 200 часов бульдозера. Эти два ограничения также могут быть выражены в виде уравнений. Например, ограничение оборотного капитала может быть выражено следующим образом:

    $50,000*Участки+$25,000*Дома<=$1,200,000

    Эта формула говорит, что результат формулы $50,000, умноженный на количество участков плюс $25,000, умноженный на количество домов, должен быть меньше или равен лимиту оборотного капитала в $1,200,000. Символ меньше или равно представлен оператором <=.

    Ограничение мощности бульдозера может быть выражено следующим образом:

    80*Участки+200*Дома<=3000

    Эта формула показывает результат формулы, умноженной на 80-кратное количество участков плюс 200-кратное количество домов. быть меньше или равно предельному наработке бульдозера в 3000 часов. Опять же, символ меньше или равно представлен оператором <=.

    Как правило, у вас также есть ограничения политики, когда вы работаете с задачей моделирования оптимизации. Предположим, что в соответствии с политикой вы хотите поддерживать определенный уровень активности как в обустройстве участков, так и в строительстве домов. Например, вы можете сказать, что, поскольку вы должны поддерживать опыт своей команды как в области разработки необработанных земель, так и в сфере жилищного подряда, вы хотите застраивать не менее 10 участков каждый год и строить не менее 5 домов. Эти два ограничения также должны быть выражены в виде уравнений. Ограничение политики минимального количества лотов может быть выражено следующим образом:

    Участки>=10

    Эта формула говорит, что вы хотите построить не менее 10 участков под застройку. Или, переформулируя, эта формула говорит, что переменная лотов должна быть больше или равна 10. Символ больше или равно представлен оператором >=.

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

    Дома>=5

    Эта формула говорит, что вы хотите построить не менее 5 домов. Или, переформулируя, эта формула говорит, что переменная домов должна быть больше или равна 10. Опять же, символ больше или равно представлен оператором >=.

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

    15 000 долларов * лоты + 20 000 долларов * дома = прибыль

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

    50 000 долларов США*Участки земли+25 000 долларов США*Дома <= 1 200 000 долларов США

    80*Участки+200*Дома<=3000

    Участки>=10

    Дома>=5

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

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

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

    Настройка рабочей книги для решателя

    Чтобы настроить рабочую книгу для решателя, необходимо выполнить три шага: ввести предположения переменных, которые оптимизируют вашу целевую функцию, ввести целевую функцию, а затем ввести функции ограничений. На рис. 6-17 показана рабочая тетрадь, созданная для решения примера задачи, обсуждавшейся в EasyRefresher.

    Рисунок 6-17. Рабочая книга, предназначенная для моделирования оптимизации. Если вы хотите поэкспериментировать с Solver, но не хотите создавать с нуля рабочую таблицу, показанную на рис.

    Чтобы создать эту или любую другую книгу модели оптимизации, выполните следующие действия:

    1. При необходимости укажите Excel, чтобы отображались фактические формулы, а не результаты.
      Вам не нужно предпринимать этот шаг, но поскольку при оптимизационном моделировании вас действительно больше интересует, как выглядят формулы, а не результаты, которые они дают, вы, вероятно, захотите указать Excel отображать формулы, а не результаты формулы. Для этого выберите команду «Параметры» в меню «Сервис», перейдите на вкладку «Вид» и установите флажок «Формулы». Рисунок 6-17 отображает формулы вместо результатов формул.
    2. Укажите начальные предположения для переменных.
      Вам необходимо предоставить начальные предположения для переменных, которые вы пытаетесь оптимизировать. Вы можете сделать это, просто введя значения в ячейки, но я рекомендую вам создать небольшое расписание имен переменных и предполагаемых значений переменных, как показано на рис. 6-17, в диапазоне рабочего листа A1:B3. показано на рис. 6.17 — и вы действительно должны — вы также захотите назвать ячейки, содержащие ваши предположения. В этом случае вы можете сделать это, выбрав диапазон рабочего листа, который содержит имена переменных (участки, дома) и предположения — A2:B3 на рис. 6-17 — и затем выбрав команду «Имя» меню «Вставка», а затем выбрав Создать команду. Когда Excel отобразит диалоговое окно «Создание имен», установите флажок «Левый столбец» и нажмите «ОК».
    3. Опишите целевую функцию.
      На рис. 6-17 рабочий лист описывает уравнение со следующей формулой, расположенной в ячейке B5: =15000*Участки+20000*Дома Поскольку ячейки, содержащие переменные предположения, были названы Участки и Дома, целевая функция использует эти имена вместо ссылок на ячейки. Обратите внимание, что метка в ячейке A5 идентифицирует уравнение, но вам нужно ввести только фактическое уравнение, показанное в ячейке B5.
    4. Опишите каждое ограничение.
      На рис. 6-17 ограничения описаны в диапазоне рабочего листа B8:C11. Чтобы описать отдельное ограничение, вы вводите уравнение ограничения в одну ячейку и ограничивающее постоянное значение в другую ячейку. Например, ограничение оборотного капитала, упомянутое в предыдущем EasyRefresherTM, гласит, что формула 50 000 долларов, умноженная на количество участков, плюс 25 000 долларов, умноженная на количество домов, должна быть меньше или равна 1 200 000 долларов (ограничивающая константа). Чтобы описать это первое ограничение, введите следующую формулу в ячейку B8: =Участки*50000+Дома*25000 и вы вводите постоянное значение, которое ограничивает эту формулу в ячейке C8:

      1200000

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

      =Участки*80+Дома*200

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

      3000

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

      = Партии

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

      10

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

      = Дома

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

      5

      Выполнив предыдущие шаги, вы готовы использовать Solver для поиска оптимального решения вашей целевой функции.

    Использование Решателя

    Если вы настроите рабочие книги так, как показано на рис. 6-17, вы обнаружите, что Решатель прост в использовании. Вы просто выполняете следующие шаги:

    1. Выберите команду Solver в меню Tools.
      Excel отобразит диалоговое окно «Параметры решателя» (см. рис. 6-18). Если вы не видите команду «Поиск решения» в меню «Инструменты», это означает, что надстройка «Поиск решения» еще не установлена. Чтобы установить Solver, выберите команду «Надстройки» в меню «Инструменты». Когда Excel отобразит диалоговое окно «Надстройки», прокрутите вниз список «Доступные надстройки», пока не увидите запись надстройки «Поиск решения». Установите флажок «Надстройка решения», нажмите «ОК», а затем, если Excel запросит это, предоставьте установочный компакт-диск Excel или Office. Рисунок 6-18. Диалоговое окно «Параметры решателя».
    2. Определите целевую функцию.
      Введите адрес ячейки, содержащей вашу цель, в поле «Установить целевую ячейку». Например, на рис. 6-17 ячейка B5 содержит целевую функцию, поэтому вы должны ввести B5 в поле «Установить целевую ячейку».
    3. Опишите, как Solver должен оптимизировать целевую функцию.
      Используйте кнопки параметров «Равно», чтобы указать, как Solver оптимизирует целевую функцию. Например, в случае функции прибыли вы хотите максимизировать функцию, поэтому нажимаете кнопку Max. Это относится к рабочей книге, показанной на рис. 6-17. Если бы ваша целевая функция описывала затраты, вместо этого вы бы хотели минимизировать функцию и поэтому нажали бы кнопку Min. У вас также могут быть ситуации, в которых вы хотите, чтобы целевая функция возвращала определенное значение, и поэтому в этом особом случае вы должны нажать кнопку «Значение» и затем указать указанное значение.
    4. Сообщите Солователю, в каких ячейках находятся ваши догадки переменных.
      Используйте поле «Изменение ячеек», чтобы указать Excel, где вы сохранили переменные, используемые в целевой функции и уравнениях ограничений. На рис. 6.17, например, рабочая книга хранит эти переменные в ячейках B2 и B3, так что вы можете ввести адреса этих двух ячеек в поле By Changeing Cells. Если вы назвали переменные ячейки, вы также можете ввести имена ячеек, как показано на рис. 6-18. Ячейка B2 называется «Участки», а ячейка B3 — «Дома».
    5. Сообщите Solver, что вы хотите начать описание ограничений.
      Нажмите кнопку «Добавить». Excel отобразит диалоговое окно «Добавить ограничение» (см. рис. 6-19). Рисунок 6-19. Диалоговое окно «Добавить ограничение».
    6. Опишите первое ограничение.
      Чтобы добавить ограничение, используйте поле Ссылка на ячейку, чтобы определить ячейку, содержащую первое уравнение ограничения, используйте поле безымянного оператора, чтобы выбрать соответствующий оператор ограничения, а затем используйте поле Ограничение, чтобы определить ячейку, содержащую постоянное значение первого ограничения. . В случае рабочей книги, показанной на рис. 6-17, например, вы можете сделать это, щелкнув поле «Ссылка на ячейку», а затем щелкнув ячейку B8, выбрав оператор <=, а затем щелкнув поле «Ограничение» и затем щелкнув ячейку C8. . Рисунок 6-19показывает, как должно выглядеть диалоговое окно "Добавить ограничение" для указания этого ограничения. Щелкните Добавить, чтобы добавить ограничение. Затем повторите эту задачу, чтобы добавить больше ограничений. Безымянный раскрывающийся список содержит пять операторов ограничения: <= для указания меньше или равно, = для указания равно, >= для указания больше или равно, int для указания, что переменная должна быть целочисленной, и bin для указания того, что переменная должна быть двоичной (равной 1 или 0).
    7. Добавьте любые неявные целочисленные ограничения.
      Во многих задачах оптимизации моделирования у вас также будут неявные целочисленные ограничения. Это означает, например, что вы не можете использовать десятичные значения как часть оптимального решения. Например, вы можете сказать, что должны построить целое число участков под застройку или построить целое число домов. Или, немного переформулировав, вы можете сказать, что вы не можете дойти до конца года, когда один из ваших строительных участков будет готов только наполовину или один из ваших домов будет построен только частично. Чтобы указать целочисленное ограничение, используйте поле «Ссылка на ячейку», чтобы определить ячейку переменной, которая должна быть целочисленной, а затем выберите оператор int в раскрывающемся списке без имени. На рис. 6-20 показано, как выглядит диалоговое окно Add Constraint, когда вы указываете целочисленное ограничение. Обратите внимание, что вы не вводите слово integer в поле Constraint. Эксель так делает. Рисунок 6-20. Диалоговое окно «Добавить ограничение», на этот раз показывающее, как выглядит целочисленное ограничение.
    8. Добавьте любые бинарные ограничения.
      В некоторых задачах оптимизационного моделирования у вас также могут быть бинарные ограничения. Двоичное ограничение — это ограничение, в котором переменная должна быть равна 0 или 1. Чтобы указать двоичное ограничение, используйте поле «Ссылка на ячейку», чтобы указать ячейку переменной, которая должна быть двоичной, а затем выберите оператор бина из раскрывающегося списка без имени. .
    9. Сообщите Excel, что вы закончили добавлять ограничения.
      Чтобы закрыть диалоговое окно «Добавить ограничение» после того, как вы закончите описание последнего ограничения, нажмите «ОК». Excel закроет диалоговое окно «Добавить ограничение» и вернет вас в диалоговое окно «Параметры решателя». Все добавленные вами ограничения отображаются в списке Subject To Constraints. Если вы добавите ограничение, а затем захотите его удалить, откройте диалоговое окно Solver Parameters, выберите ограничение и нажмите кнопку Удалить. Если вы добавите ограничение, а затем захотите его отредактировать, откройте диалоговое окно «Параметры решателя», выберите ограничение и нажмите кнопку «Изменить». Когда Excel отобразит диалоговое окно «Редактировать ограничение», используйте его для внесения изменений. Диалоговое окно «Редактировать ограничение» работает аналогично диалоговому окну «Добавить ограничение».
    10. Скажите Excel, чтобы он искал решение.
      Нажмите кнопку «Решить», чтобы программа Excel нашла решение вашей задачи оптимизации моделирования. Excel ищет решение, а затем отображает диалоговое окно Solver Results (см. рис. 6-21). Рисунок 6-21. Диалоговое окно «Результаты решения».

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

      • Чтобы указать Excel сохранить свое решение, нажмите кнопку «Сохранить решение решения» и нажмите «ОК».
      • Чтобы указать Excel отказаться от своего решения, нажмите кнопку «Восстановить исходные значения» и нажмите «ОК».
      • Чтобы указать Excel сохранить свое решение в виде сценария, нажмите кнопку «Сохранить сценарий», а затем при появлении запроса укажите имя сценария.
      В предыдущем разделе «Анализ «что, если» с помощью диспетчера сценариев» обсуждается, как работают сценарии.

    Просмотр отчетов решателя

    В диалоговом окне «Результаты решателя» можно создать несколько отчетов об оптимизационном моделировании, которое выполняет решатель. Чтобы сгенерировать эти отчеты, щелкните нужный отчет или отчеты, когда Excel отобразит диалоговое окно «Результаты решения» (см. рис. 6-21).

    Excel не допускает целочисленные ограничения в отчетах о чувствительности и ограничениях. Вам нужно будет вернуться в диалоговое окно Solver Parameters (см. рис. 6-18) и удалить целые параметры для домов и участков, чтобы получить эти отчеты. Эти отчеты включают графическое отображение нескольких параметров в нескольких уравнениях. Когда вы рисуете сложное уравнение, не все результаты будут иметь целочисленные значения.

    Понимание отчета об ответах

    Отчет об ответах, который Excel помещает на отдельный рабочий лист, предоставляет информацию о том, насколько оптимальное решение близко к вашим исходным предположениям, и о том, какие ограничения связывают или ограничивают оптимизацию. На рис. 6-22 показан пример отчета об ответах. В верхней части отчета Excel сравнивает исходный результат формулы функции возражения с результатом функции возражения, предоставленным исходными значениями переменных. Например, на рис. 6-22 Excel показывает исходное значение целевой функции как 425 000, а конечное значение целевой функции — как 440 000. В этом случае Решатель улучшает целевую функцию на 15 000.

    Рисунок 6-22. Отчет об ответах.

    После сравнения исходных и окончательных значений результатов формулы целевой функции Excel сравнивает исходные и окончательные значения переменных (см. рис. 6-22). Эта информация позволяет точно увидеть, насколько Excel корректирует переменные, чтобы оптимизировать целевую функцию.

    В нижней части отчета с ответами Excel анализирует ограничения, вычисляя результаты формулы для ограничений и затем сравнивая эти результаты формулы с константами ограничения. На первый взгляд это звучит как рутинная работа, но эта информация часто очень полезна по двум важным причинам: во-первых, вы можете использовать информацию о состоянии, чтобы увидеть, какие ограничения являются обязывающими или ограничивающими. На рис. 6-22 связующим ограничением являются часы работы бульдозера. Во-вторых, вы можете использовать информацию Slack, чтобы увидеть, насколько близко данное ограничение становится обязательным. На рис. 6-22 ограничение оборотного капитала показывает только 25000 резервов; Другими словами, у вас есть только 2% погрешности с вашим оборотным капиталом (25 000 долларов США / 1 200 000 долларов США).

    Понимание отчета о чувствительности

    Отчет о чувствительности, который Excel также помещает на отдельный рабочий лист, показывает уменьшенные градиенты для переменных и множители Лагранжа для ограничений (см. рис. 6-23). Уменьшенное значение градиента показывает, как изменится целевая функция, если значение переменной увеличится на 1. Множитель Лагранжа показывает, как изменится целевая функция, если константа ограничения увеличится на 1.

    Рисунок 6-23. Отчет о чувствительности. Некоторые уменьшенные значения градиента и некоторые множители Лагранжа всегда будут отображаться как 0. Уменьшенный градиент равен 0, если значение переменной нельзя увеличить, а множитель Лагранжа отображается как 0, если константа ограничения не является обязательной.

    Более внимательное изучение отчета о чувствительности, показанного на рис. 6-23, например, показывает, что уменьшенные значения градиента для обеих переменных Lots и Houses равны 0. Это указывает на то, что ни одно из значений не может быть увеличено. В отчете о чувствительности показаны множители Лагранжа для ограничения оборотного капитала и ограничения по часам работы бульдозера. Множитель Лагранжа для лимита часов работы бульдозера, равный 78,125, показывает, что увеличение количества доступных часов работы бульдозером на 1 час увеличивает целевую функцию (вашу прибыль) на 78,125.

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

    Понимание отчета об ограничениях

    Отчет об ограничениях, который Excel помещает на еще один рабочий лист, показывает, насколько могут изменяться значения переменных, но оставаться в рамках ограничений (см. рис. 6-24). Для каждой переменной отчет об ограничениях показывает рассчитанное оптимальное значение, минимально возможное допустимое значение и максимально возможное допустимое значение. На рис. 6-24 — и это часто бывает — нижний предел и верхний предел равны оптимальным значениям. Это показывает, что эти значения переменных могут быть изменены, не влияя на оптимальное решение и не нарушая ограничений. Обратите внимание, однако, что некоторые проблемы оптимизации позволяют вам изменять значения переменных, продолжая оптимизировать функцию и оставаясь в рамках установленных ограничений. Это происходит, когда имеется несколько наборов значений переменных, оптимизирующих уравнение.

    Рисунок 6-24. Отчет о лимитах.

    Настройка работы решателя

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

    Рис. 6-25. Диалоговое окно «Параметры решателя».

    Максимальное время и число итераций

    Некоторые из этих параметров говорят сами за себя. Поле «Максимальное время», например, позволяет вам указать, как долго Solver должен работать над проблемой, и может ли оно быть установлено до 32 767 секунд (что составляет более девяти часов). Поле Итерации позволяет указать, сколько итераций Solver должен работать над проблемой, и его можно установить до 32 767.

    Точность

    В поле Точность можно указать, насколько точным должен быть Решатель при проверке возможного оптимального решения на соответствие вашим ограничениям. Настройка точности 0,000001, настройка по умолчанию, сообщает Excel, что если значение формулы ограничения находится в пределах 0,000001 от константы ограничения, ограничение удовлетворяется. В поле Точность можно установить любое значение от 0 до 1. Чтобы уменьшить точность, используйте большее значение Точности. Чтобы повысить точность, используйте меньшее значение Precision. Как и ожидалось, по мере повышения точности Excel требуется больше времени, чтобы найти решение.

    Допуск

    Поле Допуск позволяет указать, насколько точным должен быть Решатель, чтобы убедиться, что все целочисленные ограничения соблюдены. Параметр допуска по умолчанию, равный 5 или 5 %, означает, что если переменная целевой функции находится в пределах 5 % от целочисленного значения — другими словами, от 95 % до 105 %, — Excel может рассматривать ее как целое число. Параметр «Допуск», кстати, применяется только к задачам оптимизации, использующим целочисленные ограничения. Как и ожидалось, по мере повышения точности Excel требуется больше времени для достижения решения.

    Схождение

    Поле Схождение позволяет указать, когда Excel должен прекратить поиск лучшего решения. Вы можете установить значение сходимости на любое дробное значение от 0 до 1. Когда изменение целевой функции меньше, чем значение, указанное в поле сходимости, Excel перестает искать лучшее решение. Параметр Convergence, кстати, применяется только к нелинейным задачам оптимизационного моделирования. По мере того, как вы уменьшаете настройку сходимости (т. е. увеличиваете точность), Excel, как и следовало ожидать, занимает больше времени для достижения решения.

    Предполагать линейную модель

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

    Предполагать неотрицательное значение

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

    Использовать автоматическое масштабирование

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

    Показать результаты итерации

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

    Оценки

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

    Производные

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

    Поиск

    Кнопки параметров поиска — Newton и Conjugate — позволяют выбрать алгоритм, который Excel использует для поиска оптимального решения. Если на вашем персональном компьютере много свободной памяти, нажмите кнопку Newton, чтобы уменьшить количество итераций вычислений (хотя и за счет использования большего объема памяти). Если на вашем персональном компьютере нет дополнительной памяти, нажмите кнопку Conjugate, чтобы выделить больше времени, чтобы ваш компьютер не использовал столько памяти.

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

    Сохранить модель и загрузить модель

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

    Понимание сообщений об ошибках решателя

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

    Решатель сошелся с текущим решением

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

    Решатель не может улучшить текущее решение

    Это сообщение указывает на то, что Excel рассчитал грубое подходящее решение, но может существовать лучшее решение. Чтобы заставить Excel искать лучшее решение, установите для параметра «Точность» большее значение в диалоговом окне «Параметры решения». Опять же, в предыдущем разделе объясняется, как это сделать.

    Остановка выбрана при достижении максимального срока

    Это сообщение указывает на то, что время Excel истекло. Вы можете попытаться повторить решение, используя параметр alargerMaxTime. Чтобы указать значение alargerMaxTime, используйте диалоговое окно «Параметры решения».

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

    Остановка выбрана при достижении максимального предела итераций

    Это сообщение указывает на то, что Excel исчерпал количество итераций. Вы можете попробовать еще раз попытаться решить решение, используя большее значение параметра «Итерации». Чтобы указать большее значение итераций, используйте диалоговое окно «Параметры решателя».

    Значения Set Target Cell не сходятся

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

    Решатель не смог найти возможное решение

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

    Условия для предположения о линейной модели не соблюдены

    Это сообщение указывает, что вы установили флажок Предполагать линейную модель, который отображается в диалоговом окне Параметры решателя, но Excel после просмотра результатов расчета заключает, что ваша модель не является линейной. Если вы видите это сообщение, сначала откройте диалоговое окно Solver Options и установите флажок Use Automatic Scaling. Затем снова попытайтесь решить свою оптимизационную модель. Если вы получите сообщение об ошибке во второй раз, снова отобразите окно «Параметры решателя», но на этот раз снимите флажок «Предполагать линейную модель». Затем попытайтесь решить свою проблему еще раз.

    Решатель обнаружил значение ошибки в целевой ячейке или ячейке ограничения

    Это сообщение указывает, что одна из ваших формул приводит к значению ошибки или что вы неправильно указали целочисленное или двоичное ограничение. Чтобы решить эту проблему с решателем, вам нужно исправить неправильную формулу.

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

    Недостаточно памяти для решения проблемы

    Это сообщение, как и следовало ожидать, указывает на то, что Excel не хватает памяти для успешного запуска Solver.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *