Форум программистов, компьютерный форум, киберфорум
Другие языки программирования
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 4
Регистрация: 05.05.2017
Сообщений: 521
1

GNU Octave Линейное программирование

05.05.2017, 20:16. Показов 1349. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть задача из линейного программирования. Распределение капиталовложений.
Общую сумму капиталовложений K необходимо распределить между q объектами, потребности которых определяются суммами b_1,…,b_q, а ожидаемые c_1,…,c_q прибыли. При этом на каждый объект капиталовложения либо выделяются в необходимой сумме, либо совсем не выделяются.
Задача: найти распределение капиталовложений с максимальной прибылью.
Построение математической модели
Выбор постоянных параметров
q – кол-во типов объектов, i=1,…,q;
bi – сумма i-го объекта;
сi – прибыль от i-го объекта;
К – общая сумма капиталовложений.
Выбор переменных параметров
xi = {0,1} 1,если капиталовложение выделяются;0,если не выделяются;
Запись условий
Необходимо учесть, что:
сумма выделенных средств должна быть меньше либо равна общей сумме имеющихся средств;
средства должны либо выделяться в необходимом объеме, либо совсем не выделяться.
Ограничения будут выглядеть следующим образом:
∑_(i=1)^q▒〖b_i∙x_i 〗≤K,x_i∈(0,1).
4) Запись целевой функции
Максимизировать нужно прибыль, а значит, сумму ожидаемых прибылей от объектов которым выделены средства. Целевая функция выглядит следующим образом:
F=∑_(i=1)^q▒〖c_i∙x_i 〗→max.

Задача относится к классу задач целочисленного линейного программирования. Поэтому нужно записать условие целочисленности:
x_i-целые (i=1,q).



Родилось нечто такое
Matlab M
1
2
3
4
5
6
7
8
9
10
q = input("Enter kolvo of objects - ");
i = 1;
while (i <= q)
  b(i) = input( strcat("Sum ", num2str(i), " object - "));
  c(i) = input( strcat("Pribul ", num2str(i), " object - "));
  i++;
  up(i) = 1;
endwhile;
K = input("Obshaia summa kapitalovlozhenii - ");
[x_max, z_max, error_code, extra] = glpk(c, b, K, zeros(), up, "U", "I", -1);
пишет error: glpk: C must be a real vector
Куда копать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2017, 20:16
Ответы с готовыми решениями:

Gnu Octave написана на C++, хочу изучить программирование для Octave, с чего начать
GNU Octave — свободная система для математических вычислений, использующая совместимый с MATLAB...

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

Линейное программирование
Вот задача Для изготовления двух видов изделий А1 и А2 завод использует в качестве сырья алюминий...

линейное программирование
Z=2x_1-x_2+3x_3-2x_4+x_5 \rightarrow max; \left\{\begin{matrix}-x_1+x_2+x_3=1;\\ x_1+x_2+x_5\geq...

0
05.05.2017, 20:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.05.2017, 20:16
Помогаю со студенческими работами здесь

линейное программирование
Не знаю ,правильно ли здесь тему создавать, но вот. Решалась задача линейного программировния...

Линейное программирование
Решить симплексным методом в Excel F = 3x1 – 2x2 + 2x3 – x4 + 3x5 + 3x6 -&gt;min 3x1+ 4x2 + 3x3...

Линейное программирование
Помогите решить в excel

Линейное программирование
Прошу помощи в решении задачи в Маткаде. Во вложении, задание №17, задача линейного...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru