Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Как найти минимум функции при ограничениях

Ответить
Настройки темы
Delphi - Как найти минимум функции при ограничениях

Новый участник


Сообщения: 20
Благодарности: 0

Профиль | Отправить PM | Цитировать


Как найти минимум функции вида
L=L[1]*x1+L[2]*x2+ .... +L[n]*xn----> min (max)
при ограничениях:
A1[1]*x1+A1[2]*x2+....+A1[n]*xn <=> B1
.....................
Am[1]*x1+Am[2]*x2+....+Am[n]*xn <=> Bm
Где <=> - один из знаков: >= , = , <=

Отправлено: 15:01, 09-05-2012

 

Новый участник


Сообщения: 20
Благодарности: 0

Профиль | Отправить PM | Цитировать


Решить задачу в делфи...!

Отправлено: 19:31, 10-05-2012 | #11



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

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


Аватара для lxa85

Необычный


Contributor


Сообщения: 4466
Благодарности: 995

Профиль | Сайт | Отправить PM | Цитировать


Цитата Jenek56Rus:
В1 В2 В3 В4
А 32 14 27 20
В 11 5 9 2
С 6 5 13 7
D 4 3 7 5
Цена1кг 24 17 30 12 »
а какой правильный ответ? К чему надо стремиться то?
----
Открыл программу.
И куда там что писать?
Можно в какое-нибудь соответствие привести коэф. ограничений, коэф. функций и т.д. ?
Помни, это ты проблемой занимаешься, я ее первый раз вижу.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 19:49, 10-05-2012 | #12


Новый участник


Сообщения: 20
Благодарности: 0

Профиль | Отправить PM | Цитировать


32 14 27 20 коэфиценты 1 ограничения
11 5 9 2 коэфиценты 2 ограничения
6 5 13 7 коэфиценты 3 ограничения
4 3 7 5 коэфиценты 4 ограничения

24 17 30 12 это коэфиценты функции но так как это 1 кг а коэфиценты ограничений в 10кг умножим их на 10

6 единиц химического вещества А, не менее 37 единиц химического вещества В, не менее 26 единиц химического вещества С и не менее 4 единиц химического вещества D. Ну а это правая часть ограничений. Верный ответ данной программы 881,798, в проекте картинка там есть верный результат...

Отправлено: 20:59, 10-05-2012 | #13


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать



Jenek56Rus, не реально, чтобы кто-либо продавал удобрения в десятимиллионных долях грамма . Я лично добавил ограничение целочисленности, дабы фермеру не пришлось ходить за удобрениями с атомными весами: Solve.7z (NB: это документ Microsoft Excel, не код на Delphi!).



Это сообщение посчитали полезным следующие участники:

Отправлено: 22:26, 10-05-2012 | #14


Новый участник


Сообщения: 20
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Последний раз редактировалось Jenek56Rus, 11-05-2012 в 20:19.


Отправлено: 20:05, 11-05-2012 | #15


Аватара для lxa85

Необычный


Contributor


Сообщения: 4466
Благодарности: 995

Профиль | Сайт | Отправить PM | Цитировать


Jenek56Rus, я пробовал разобраться в твоей программе. Сейчас я остыл, но придушить очень хотелось.
Первый раз, когда пытался понять, что куда записывать, чтобы запустить расчет, второй раз за недокументированный алгоритм.
Если с первым разобрался, то на второе просто плюнул. "Идея" алгоритма мне не ясна. Соотв. вложенные циклы тоже мало о чем говорят. В слепую разбираться что они делают и что они должны(!) делать - никакого желания.
Вон посмотри у Iska. Каждое значение выводится через формулу. Все красиво и понятно.

Зачем массив A сделан 100 на 100? Его как отлаживать? 5x5 10х10, край 15х15 хватит за глаза.
Дважды щелкни на форму, откроется FormCreate процедура.
В ней напиши
n:=4,
m:=4,
StringGrid1 тому то, stringGrid2 - тому то. Что бы при запуске программы УЖЕ были забиты тестовые данные.
Я тебе это уже раз третий говорю.
Нажимать кнопку "сформировать матрицы" каждый раз в начале работы мне надоело после второго раза.

Наведи порядок на форме. Все нормальные люди читают сверху-вниз, слева-направо. А кнопка формирования матриц где-то в середине формы. Если бы не экран с расчетами Iska, я бы вообще не запустил эту программу. Потому что я не понимаю, что писать, куда писать, и почему ей(программе) это не нравится. Почему заполняя левую верхнюю таблицу, программа ругается на какую-то нижнюю правую. Это раздражает.

Ладно, к сути. Алгоритм SOLVE ясен? Можно его прокомментировать? Чтобы проверяющий (в данном случае я) понимал, что должен выполнить цикл. Лучше всего формулу с текстом. Если текст сложно, то только формулу.

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

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:27, 11-05-2012 | #16


Новый участник


Сообщения: 20
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Solve.7z (NB: это документ Microsoft Excel, не код на Delphi!). »
перезалейте плиз, ото когда извлекаю из архива он поврежден...(

Отправлено: 13:12, 12-05-2012 | #17


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата Jenek56Rus:
перезалейте плиз, ото когда извлекаю из архива он поврежден...( »
Архив и документ в нём в порядке. Используйте 7-Zip версии не ниже 9.20, либо же WinRAR версии не ниже 3.91.

Отправлено: 13:17, 12-05-2012 | #18


Новый участник


Сообщения: 20
Благодарности: 0

Профиль | Отправить PM | Цитировать


Алгоритм SOLVE мне не совсем ясен ... Совсем запутался с задачей...(

Отправлено: 10:21, 13-05-2012 | #19


Новый участник


Сообщения: 20
Благодарности: 0

Профиль | Отправить PM | Цитировать


Можете математически обьяснить как это решить...?

Отправлено: 10:55, 13-05-2012 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Как найти минимум функции при ограничениях

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Функции при совпадении имён файлов в процессе копирования. saneck Microsoft Windows 2000/XP 4 15-12-2011 05:07
"Мы точно умрем 21 Октября!" как минимум - вот так... P.M. Флейм 8 16-10-2011 01:43
[решено] остановка функции при условии. yukuru AutoIt 3 26-07-2011 00:01
CMD/BAT - [решено] две функции по mp3 (узнать продолжительность и найти все mp3 файлы в папке) tor4ok11 Скриптовые языки администрирования Windows 5 22-11-2010 07:17
[решено] При наличии файла ответов нет функции Восстановления (Repair, [R]) toai Автоматическая установка Windows 2000/XP/2003 33 27-03-2009 11:20




 
Переход