Хобрук: Ваш путь к мастерству в программировании

Сохранение значений целевой функции при использовании Solver, EXCEL

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

Спасибо.


Ответы:


1

Это можно сделать, но это утомительно вручную. В Excel / Solver выберите Параметры в диалоговом окне параметров решателя (Данные-> Решатель-> Параметры в Excel). Выберите Установите флажок Показать результаты итераций. Когда вы это сделаете, решающая программа Excel будет останавливаться после каждой итерации и обновлять ячейки текущими значениями переменных.

Теперь, когда вы запускаете модель, нажимая «Решить», Excel будет делать паузу на каждой промежуточной итерации. Решатель рассматривает каждый промежуточный шаг как «Сценарий». Вы можете сохранить каждый из них, присвоив ему имя в диалоговом окне сценария, которое появляется после каждой итерации. (В текстовом поле введите что-нибудь логичное, например i1, i2, i3 ...)

После того, как Решатель будет готов, вы можете получить доступ к «Диспетчеру сценариев» Excel-> Параметры-> Сценарии. Вы увидите все сценарии, которые вы сохранили, перечисленные там. Чтобы поместить их все в именованный диапазон, например при желании нажмите кнопку «Сводка» и в диалоговом окне выберите «Отчет сводной таблицы сценария». Это отобразит все промежуточные значения функции цели в красивом < em> Сводная таблица для анализа.

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

14.01.2012
Новые материалы

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

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

Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

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

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

Обзор: Машинное обучение: классификация
Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

Разработка расширений Qlik Sense с qExt
Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..