Linpro scilab ошибка

Неизвестная переменная: linpro Scilab Решение и ответ на вопрос 1722702

Fenlou

1 / 1 / 2

Регистрация: 11.03.2014

Сообщений: 483

1

27.04.2016, 20:51. Показов 13403. Ответов 4

Метки нет (Все метки)


Здравствуйте, помогите пожалуйста исправить ошибку при выполнении кода программы

Matlab M
1
[x,lagr,Fmin]=linpro(c,A,b,ci,cs)

ошибка

Matlab M
1
2
                                  !--error 4 
Неизвестная переменная: linpro

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

27.04.2016, 20:51

4

6514 / 4647 / 1932

Регистрация: 02.02.2014

Сообщений: 12,480

27.04.2016, 22:15

2

Лучший ответ Сообщение было отмечено Fenlou как решение

Решение



1



0 / 0 / 1

Регистрация: 17.03.2014

Сообщений: 10

20.02.2018, 23:40

3

необходимо загрузить Quapro Toolbox:
Scilab -> Инструменты -> Управление модулями Atoms -> Оптимизация -> Quapro -> Установить, галка Автозапуск, и перезапустить Scilab



0



0 / 0 / 0

Регистрация: 23.12.2018

Сообщений: 47

01.05.2020, 15:15

4

JRmsk, я посмотрел, а там Quapro нет

Добавлено через 28 секунд
Krasme, устаревшая информация



0



6514 / 4647 / 1932

Регистрация: 02.02.2014

Сообщений: 12,480

01.05.2020, 15:24

5

SabLat, вы дату топика посмотрите 4 года прошло…

Добавлено через 2 минуты
в методичке рассматривается scilab 5., данная версия и сейчас доступна
https://www.scilab.org/download/5.5.2



0



У меня версия 5.1.1
Как указано в описании quapro 1.0 toolbox (windows 32 bits binary version):
1. Выполнил quapro-1.0-win32.exe и вопросное расширение инсталировалось в директорию
C:Program Filesquapro-toolbox-1.0;
2. В основной т.наз. Console scilab-a вошел в команде File >> Execute, нашел директории
C:Program Filesquapro-toolbox-1.0 с только что инсталированном расширении и там увидел,
выбрал и выполнил как указано «загрузчик» расширения loader.sce. В Consol-е пeрошли тексты:

Startup execution:
  loading initial environment

  Start quapro toolbox   

Load macros   

Load gateways   

Load help   

Execution done. 

;
3. Теперь уже в Helpe scilab-a в самом конце наряду с прочими появилось расширение quapro. Там открыл
описание linpro. Из части его Examples скопировал «фирменный» примерчик прямо в Console и нажал Enter;
4. Получил решение

—>//Find x in R^6 such that:

—>//C1*x = b1  (3 equality constraints i.e me=3)

—>C1= [1,-1,1,0,3,1;
—>    -1,0,-3,-4,5,6;
—>     2,5,3,0,1,0];

—>b1=[1;2;3];

—>//C2*x <= b2  (2 inequality constraints)

—>C2=[0,1,0,1,2,-1;
—>    -1,0,2,1,1,0];

—>b2=[-1;2.5];

—>//with  x between ci and cs:

—>ci=[-1000;-10000;0;-1000;-1000;-1000];cs=[10000;100;1.5;100;100;1000];

—>//and minimize p’*x with

—>p=[1;2;3;4;5;6]
p  =

    1. 
    2. 
    3. 
    4. 
    5. 
    6. 

—>//No initial point is given: x0=’v’;

—>C=[C1;C2]; b=[b1;b2] ; me=3; x0=’v’;

—>[x,lagr,f]=linpro(p,C,b,ci,cs,me,x0)
f  =

  — 7706.4681 
lagr  =

    0.         
    0.         
  — 3.1914894 
  — 7.4893617 
    2.212766   
    0.         
  — 0.7659574 
  — 0.8723404 
  — 0.5531915 
    0.         
    0.         
x  =

    275.2766   
  — 129.51064 
    1.537D-14 
  -1000.       
    100.       
  — 703.78723 

—>// Lower bound constraints 3 and 4 are active and upper bound

—>// constraint 5 is active —> lagr(3:4) < 0 and lagr(5) > 0.

—>// Linear (equality) constraints 1 to 3 are active —> lagr(7:9) <> 0

5. Последный пункт можно сделать и не прямо из Console, а через Applications >> Editor.
Скопировать примерчик в редактор программ и выполнить его уже оттуда при помощью команды
Execute >> Load into SciLab. Тогда в Console более лаконическое:

->
  p  =

    1. 
    2. 
    3. 
    4. 
    5. 
    6. 
f  =

  — 7706.4681 
lagr  =

    0.         
    0.         
  — 3.1914894 
  — 7.4893617 
    2.212766   
    0.         
  — 0.7659574 
  — 0.8723404 
  — 0.5531915 
    0.         
    0.         
x  =

    275.2766   
  — 129.51064 
    1.537D-14 
  -1000.       
    100.       
  — 703.78723 

Все.

Навигация

Владельцы сайта

Решение задач линейного программирования

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

  Пусть  — количества продуктов . Общая стоимость рациона равна:

  (1)

  Сформулируем ограничение на количество белков, углеводов и жиров в виде неравенств. В одной единице продукта содержится единиц белков и тд.  Следовательно, общее количество белков во всех четырех типах продукта равно

 

и должно быть не меньше  . Получаем первое ограничение:

  (2)

  Аналогичные ограничения для жиров и углеводов имеют вид:

 (3)

 (4)

  Приняв во внимание, что  — положительные значения, получим

еще четыре ограничения:

 (5)
  Таким образом, задачу о рациональном рационе можно сформулировать следующим образом: найти значения переменных , удовлетворяющие

системе ограничений (2)–(5), при которых линейная функция (1) принимала бы минимальное значение. Задача об оптимальном рационе является задачей линейного программирования, функция (1) называется функцией цели, а ограничения (2)–(5) — системой ограничений задачи линейного программирования.
  В задачах линейного программирования функция цели L и система ограничений являются линейными. В общем случае задачу линейного программирования можно сформулировать следующим образом. Найти такие значения , удовлетворяющие системе ограничений (6), при которых функция цели L (7) достигает своего минимального (максимального) значения:

  (6)

 (7)

  Для решения задач линейного программирования в Scilab предназначена функция linpro следующей структуры:

[x,kl,f]=linpro(с,A,b[,ci,cs][,k][,x0])

  Здесь c — массив (вектор-столбец) коэффициентов при неизвестных функции цели, длина вектора n совпадает с количеством неизвестных x.

A — матрица при неизвестных из левой части системы ограничений, количество строк матрицы равно количеству ограничений m, а количество столбцов совпадает с количеством неизвестных n.

b — массив (вектор-столбец), содержит свободные члены системы ограничений, длина вектора m.

ci — массив (вектор-столбец) размерности n содержит нижнюю границу переменных (cij 6 xj); если таковая отсутствует, указывают [].

cs — массив (вектор-столбец) длиной n, содержит верхнюю границу переменных (csj > xj); если таковая отсутствует, указывают [].

k — целочисленная переменная, используется, если в систему ограничений кроме неравенств входят и равенства, в матрице они будут находиться в k первых строках, оставшиеся l строк займут неравенства, т.е. m = k + l.

x0 — вектор-столбец начальных приближений длиной n.

  Функция linpro возвращает массив неизвестных x, минимальное значение

функции f и массив множителей Лагранжа kl.

  Рассмотрим использование функции linpro на примере решения следующей

задачи линейного программирования:

Найти такие значения переменных x1,x2,x3,x4, при которых функция цели L

достигает своего минимального значения и удовлетворяются ограничения:

  Обратите внимание, что в четвертом ограничении присутствует знак «>». Для приведения системы ограничений виду (1) необходимо четвертое уравнение умножить на -1. Решение задачи представлено ниже:

A=[3 -1 0 0;0 1 -2 0; 0 0 4 -1; -5 0 0 -1];

[x,kl,f]=linpro(p,A,b,ai,[])

Полученные значения представлены ниже

Понравилась статья? Поделить с друзьями:
  • Link verification error please check if trades can be accepted on your account
  • License error alert from server invalid client
  • Jtag dp sticky error
  • Istio proxy 503 uc error
  • Ist keine sprint layout datei ошибка