3 / 3 / 1
Регистрация: 05.08.2013
Сообщений: 90
|
|
1 | |
Симплекс-метод с равенствами18.09.2018, 13:13. Показов 7613. Ответов 5
Нужно решить симплекс-методом задачу линейного программирования например такую:
Кликните здесь для просмотра всего текста
целевую функцию минимизировать:
801*x000 + 391*x001 + 705*x002 + 596*x010 + 472*x011 + 821*x012 + 490*x020 + 261*x021 + 710*x022 + 590*x100 + 322*x101 + 373*x102 + 496*x110 + 514*x111 + 600*x112 + 492*x120 + 405*x121 + 591*x122 + 632*x200 + 535*x201 + 533*x202 + 375*x210 + 564*x211 + 597*x212 + 288*x220 + 372*x221 + 505*x222 Ограничения 1*x000 + 1*x001 + 1*x002 + 1*x010 + 1*x011 + 1*x012 + 1*x020 + 1*x021 + 1*x022 = 1 1*x100 + 1*x101 + 1*x102 + 1*x110 + 1*x111 + 1*x112 + 1*x120 + 1*x121 + 1*x122 = 1 1*x200 + 1*x201 + 1*x202 + 1*x210 + 1*x211 + 1*x212 + 1*x220 + 1*x221 + 1*x222 = 1 1*x000 + 1*x001 + 1*x002 + 1*x100 + 1*x101 + 1*x102 + 1*x200 + 1*x201 + 1*x202 = 1 1*x010 + 1*x011 + 1*x012 + 1*x110 + 1*x111 + 1*x112 + 1*x210 + 1*x211 + 1*x212 = 1 1*x020 + 1*x021 + 1*x022 + 1*x120 + 1*x121 + 1*x122 + 1*x220 + 1*x221 + 1*x222 = 1 1*x000 + 1*x010 + 1*x020 + 1*x100 + 1*x110 + 1*x120 + 1*x200 + 1*x210 + 1*x220 = 1 1*x001 + 1*x011 + 1*x021 + 1*x101 + 1*x111 + 1*x121 + 1*x201 + 1*x211 + 1*x221 = 1 1*x002 + 1*x012 + 1*x022 + 1*x102 + 1*x112 + 1*x122 + 1*x202 + 1*x212 + 1*x222 = 1 x000 >= 0 x001 >= 0 x002 >= 0 x010 >= 0 x011 >= 0 x012 >= 0 x020 >= 0 x021 >= 0 x022 >= 0 x100 >= 0 x101 >= 0 x102 >= 0 x110 >= 0 x111 >= 0 x112 >= 0 x120 >= 0 x121 >= 0 x122 >= 0 x200 >= 0 x201 >= 0 x202 >= 0 x210 >= 0 x211 >= 0 x212 >= 0 x220 >= 0 x221 >= 0 x222 >= 0 Нашёл вот такую реализацию https://vscode.ru/prog-lessons... tsiya.html Но здесь все ограничения заданы неравенствами, а у меня равенствами. Помогите написать нужный вид у данного алгоритма, либо посоветуйте пожалуйста другой
0
|
18.09.2018, 13:13 | |
Ответы с готовыми решениями:
5
Симплекс-метод Симплекс-метод Симплекс метод Симплекс-метод Минимизация |
3 / 3 / 1
Регистрация: 05.08.2013
Сообщений: 90
|
|
20.09.2018, 11:06 [ТС] | 2 |
есть ли ещё способы решить эту задачу?
0
|
3 / 3 / 1
Регистрация: 05.08.2013
Сообщений: 90
|
||||||
20.09.2018, 15:49 [ТС] | 4 | |||||
0
|
3 / 3 / 1
Регистрация: 05.08.2013
Сообщений: 90
|
|
21.09.2018, 18:41 [ТС] | 5 |
вопрос остаётся открытым....
0
|
06.10.2018, 01:14 | 6 | |||||||||||||||||||||||||
Сообщение было отмечено Mastersland как решение
Решение
Сначала сделаем парсер выражений, который будет принимать на вход систему уравнений а на выходе выдавать распарсенные коэффициенты и переменные:
LinearEquationSystem
LinearEquation
Затем находим на github код для решения симплекса с равенствами. Я взял отсюда https://github.com/quercitron/SimplexMethod : SimplexMethod
Теперь пишем решатель, который парсит выражения, подготавливает матрицы для симплекс метода, решает симплекс и отдает ответ: SimplexSolver
Оформляем тестовый пример в Main: Program
Получаем результат:
2
|
06.10.2018, 01:14 | |
06.10.2018, 01:14 | |
Помогаю со студенческими работами здесь
6
Симплекс метод для нахождения минимума Симплекс метод (и графический метод) Симплекс метод Симплекс-метод Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |