Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Den-Dzen
0 / 0 / 0
Регистрация: 03.01.2014
Сообщений: 13
#1

Как решаются системы неравенств и минимизации\максимизации? - C++

10.09.2014, 20:55. Просмотров 752. Ответов 16
Метки нет (Все метки)

требуется решить задачу, аналогичную "задаче о диете", но никак не соображу как интерпретировать систему неравенств и минимизацию. Можно представить что наши данные это матрица, имеющая произвольное число строк и столбцов, и нас интересуют коэффициенты к строкам, но как это дальше превратить в код?
Яндекс подсказал что бывают разные методы решения матриц: например метод Гаусса или Ньютона, но их описание опять же состоит из уравнений, и как перевести это в код я не догоняю..
Наверняка есть какой-то готовый алгоритм программирования подобных задач? Имею ввиду описание логики последовательности действий (циклы, массивы т.п.).
И как выбрать способ решения? Ведь параметры матрицы (число строк и столбцов) заранее не известны.
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.09.2014, 20:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как решаются системы неравенств и минимизации\максимизации? (C++):

Для произвольных значений a, b вычислить решение системы неравенств - C++
Для произвольных значений a, b вычислить решение системы неравенств (с применением условных операторов) \begin{cases} & ax-b\geq 0 ...

Составить программу для вычисления решений системы неравенств - C++
Для произвольных значений a,b вычислить решение системы неравенств. a/x>=b b*x<=0

Для произвольных значений a, b вычислить решение системы неравенств (с применением условных операторов) - C++
Для произвольных значений a, b вычислить решение системы неравенств (с применением условных операторов) Существует тема на форуме, но...

Не подскажете как решаются задачи такого плана на C++? - C++
Если можно узнать формулу, и правильность записаного решения. Буду очень благодарен:)

Подскажите логику минимизации карт Карно - C++
нужна логика карт Карно например для 4-х переменных, просто логика минимизации, не желательно программа, а то я запутался совсем!

Распределить заготовки между станками для минимизации времени их обработки - C++
Подскажите как реализовать задачу полным перебором. n заготовок необходимо обработать на двух одинаковых станках. Известно время Cj,...

16
Den-Dzen
0 / 0 / 0
Регистрация: 03.01.2014
Сообщений: 13
11.09.2014, 15:29  [ТС] #16
Mr.X, да может он и простой, я помню что потом решал эти задачки с матрицами на раз (на первом-втором курсе), но вот поначалу въехать в этот процесс было для меня вывихом мозга, и щас я похоже повторяю этот процесс...) ТОлько тогда я еще помнил что-то со школы, а сейчас я с трудом вспоминаю как в столбик делить..
Насчет того, что понимать не обязательно, то я и пытаюсь найти такое объяснение где не обязательно понимать, но что-то не нахожу))
Вот попытался разложить приведенную мной задачу в уравнениях:

Функция минимизирует квадрат разницы между суммой элементов полученного раствора с суммой элементов эталонного раствора:
min F= (150-(A30+B110+C120+D130+E160))2

ограничения соответственно такие:
A10+B20+C70+D50+E40>25
A10+B20+C70+D50+E40<35
A10+B60+C10+D20+E50>65
A10+B60+C10+D20+E50<75
A10+B30+C40+D60+E70>45
A10+B30+C40+D60+E70<55

A,B,C,D,E >=0


Я для ограничений взял значения эталона 30 70 50 и разбил с погрешностью.

Далее, я так понимаю нужно добавить "пустые" переменные, чтобы неравенства превратить в равенства:
A10+B20+C70+D50+E40 -X1=25
A10+B20+C70+D50+E40+X2=35
A10+B60+C10+D20+E50-X3=65
A10+B60+C10+D20+E50+X4=75
A10+B30+C40+D60+E70-X5=45
A10+B30+C40+D60+E70+X6<55


а вот дальнейнейшие операции меня пока что смущают)..

Найти библиотеку было бы замечательно, мне нужна библиотека для java, еще лучше для конкретно processing-а, но пока не нашел..
0
Mr.X
Эксперт С++
3054 / 1699 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
11.09.2014, 15:41 #17
Да я уже дописал в предыдущем сообщении, но вы не заметили, после более подробного обдумывания мне кажется, что симплекс-метод тут не подходит.
0
11.09.2014, 15:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.09.2014, 15:41
Привет! Вот еще темы с ответами:

Условный оператор. Система неравенств - C++
Здравствуйте! Помогите, пожалуйста, разобраться с задачкой. Знаю, что похожая тема уже была, но что-то все равно не получается. ...

Решить систему линейных неравенств - C++
Нужно написать программу, решающую систему неравенств. Программа должна правильно выполняться при любых значениях начальных...

Отсутствуют кнопки закрытия, максимизации и минимизации окна - C++ WinAPI
Переписал код из книжки, вот он #include &lt;windows.h&gt; LRESULT CALLBACK HelloWorldWndProc(HWND,UINT,UINT,LONG); int WINAPI...

Кто нибудь, забыл как решаются эти системы - Математика
1). { 2x^2-y^2-xy-3y-2=0 { x^2-y^2=1 2). { 2x^2+2xy+y^2-6x-2y+5=0 { 3x^2-xy-y^2+2x+7y-10=0


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru