Курс лекций - Математическое моделирование технических объектов, страница 22
Описание файла
PDF-файл из архива "Курс лекций - Математическое моделирование технических объектов", который расположен в категории "". Всё это находится в предмете "математическое моделирование технических объектов (ммто)" из 4 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "математическое моделирование технических объектов (ммто)" в общих файлах.
Просмотр PDF-файла онлайн
Текст 22 страницы из PDF
В старой симплекс-таблице найти центр, удовлетворяющий трем условиям: центр находится в столбце, последний элемент которого положителен; центр должен быть ненулевым;112 центр лежит в том столбце, в котором z>0. Если таких столбцов несколько, выбратьтот, в котором частное от деления Ri на Dij минимально.В таблице (рис.2) в столбцах х1 и х2 прибыль положительна, но min{R1/D11, R2/D21,R3/D31, R1/D12, R2/D22, R3/D32} = MIN{10/2, 24/3, 8/2, 10/1, 24/3, 8/0}=4 лежит встроке 3 столбца 1, поэтому A=D31=2.2. Вычисляем величину B, в симплекс таблице меняем центр на B и выполняем обмен переменных, на пересечении которых находится центр.Вычисляем B=1/2=0,5 в симплекс таблице заменяем A=2 на B =0,5 и после обмена переменных x1 и y3 приходим к таблице на рис.2 (пустые клетки еще не определены)Рис. 2Рис.
3Рис. 43. Переписываем все элементы центральной –3-й– строки (кроме самого центра) из старой вновую симплекс-таблицу, попутно умножая их на B.Последовательно находим: P2=P2 × B = 0×0,5=0;P3=P3 × B = 8×0,5=4;4. Переписываем все элементы центрального столбца (кроме самого центра) из старой в новую симплекс-таблицу, попутно умножая их на (–B).Выполнив расчет: Q1=Q1 × (–B)= 2×(–0,5)1;Q2=Q2 × (–B)= 3×(–0,5)1,5;Q4=Q4 × (–B)= 3×(–0,5)1,5 – приходим к симплекс-таблице, показанной на рис.4 (элементы, обозначенные Dij еще не найдены).5.
Оставшиеся элементы Dij в новой симплекс-таблице вычисляем по формуле:Dij =Dij– Pj × QiВыполнив расчет: D12=D12–P2×Q1= 1–0×21; D13=D13–P3×Q1= 10–4×22;D22=D22–P2×Q2= 3–0×33; D23=D23–P3×Q2= 24–4×312;D42=D42–P2×Q4= 2–0×32; D43=D43–P3×Q4= 0–4×3–12;приходим к симплекс-таблице, показанной в табл.2. Элемент D43 показывает прибыль 12от реализации новой программы х1=4, х2=0 – точка D на графике (рис.1)Второй столбец табл.2 показывает, что прибыль можно увеличить ( D422>0). Далеевыполняем вторую итерацию преобразования симплекс таблицы по описанному алгоритму. Теперь старой симплекс-таблицей является таблица 2.
Построение новой симплекстаблицы выполняем этапами:1. Находим новый центр: поскольку min{R1/D12, R2/D22, R3/D32} = MIN{2/1, 12/3,4/6}=2 лежит в строке 1 столбца 2, то A=D12=1.2. Определяем величину обратную центру ( В=1/A = 1), выполняем обмен переменныхx2y1 и старый центр меняем на В=1.3. Формируем центральную строку новой симплекс-таблицы: последовательно находим:P1=P1 × B = –1×1= –1;P3=P3 × B = 2×1=21134. Формируем центральный столбец новой симплекс-таблицы: Q2=Q2 ×(-B)==3×(-1)= -3; Q3=Q3 ×(-B)= 0×(-1)= 0; Q4=Q4 ×(-B)= 2×(-1)= -2 (рис. 5)Рис. 5Рис. 6Рис.
75. Вычисляем оставшиеся элементы Dij по формуле: Dij =Dij– Pj × QiD21=D21–P1×Q2 = –1,5 – (–1×3)= 1,5 ;D41=D41–P1×Q4 = –1,5 – (–1×2)= 0,5;D33=D33–P3×Q3 = 4 – 2×0 = 4;D31=D31–P1×Q3= 0,5–(–1×0)= 0,5;D23=D23–P3×Q2= 12 – 2×3 = 6;D43=D43–P3×Q4= –12 – 2×2 = –16;приходим к симплекс-таблице, показанной на рис.6. Элемент D43 показывает прибыль 16от реализации новой программы х1=4, х2=2 – точка В на графике (рис.1).Первый столбец таблицы на рис.6 показывает, что прибыль можно увеличить(D410,5>0). Далее выполняем третью итерацию преобразования симплекс таблицы поописанному алгоритму. Теперь старой симплекс-таблицей является таблица на рис.6. Запишем ее в виде рис.7 и выполняем построение новой симплекс-таблицы этапами:1.
Находим новый центр: поскольку min{R1/D11, R2/D21, R3/D31} = min{2/–1; 6/1,5;4/0,5}=min( -2;4;8 ) и центр должен быть положительным, имеем: A=D21=1,5.2. Определяем величину обратную центру (В=1/A = 0,67), выполняем обмен переменных y2y3 и старый центр меняем на В=0,67.3. Формируем центральную строку новой симплекс-таблицы: последовательно находим:P2=P2 × B = –3×0,67= –2;P3=P3 × B = 6×0,67=44. Формируем центральный столбец новой симплекс-таблицы: Q1=Q1 ×(-B)== -1×(-0,67)= 0,67; Q3= Q4=Q3 ×(-B)= 0,5×(-0,67)= -0,34; (рис. 5)Рис. 8Рис.
9Рис. 105. Вычисляем оставшиеся элементы Dij по формуле: Dij =Dij– Pj × QiD12=D12–P2×Q1 = 1 – (–2)×(–1)= –1 ;D42=D42–P2×Q4 = –2 – (–2×0,5)= –1;D33=D33–P3×Q3 = 4 –(4)×(0,5)= 2;D32=D32–P2×Q3= 0–(–2×0,5)= 1;D13=D13–P3×Q1 = 2 – 4×(–1)= 6;D43=D43–P3×Q4 = –16 –(4)×(0,5)= –18;Результирующая таблица представлена на рис.10 и, поскольку в ней (D41<0) и D42<0, тобольше прибыль увеличить невозможно.114ПРИЛОЖЕНИЕУчебная pascal-программа преобразования и решения системы из n ЛАУ:uses crt; const n=6; type qw=array[1..n,1..n]of real; linM=array[1..n]of real;var m2:qw;b2:linM; sym:char; i,j,k,t:integer; zz:real;const m1:qw=(( 58,-43, 0, 0, 0, 0), (-43,116,-43, 0, 0, 0),( 0,-43,116,-43, 0, 0), ( 0 ,0,-43,116,-43, 0),( 0 ,0, 0,-43,116,-43), ( 0 ,0, 0, 0,-43, 68));Xr:linM=(150,0,0,0,0,0);DefX:linM=(1,0,0,0,0,0); {1 метит заданный параметр}x:array[1..n]of integer=(1,2,3,4,5,6); b1:linM=(600,1200,1200,1200,1200,1000);procedure UppCase(u:integer);begin {1.
Все коэф u-й строки а1 приравниваем 0, кроме а1[u,u]}For j:=1 to n Do If j<>u Then m1[u,j]:=0;{2. Замена компоненты free-вектора на a1[u,u]*Xr[u]}b1[u]:=m1[u,u]*Xr[u];{3. Для всех (кроме j=u) b1[j]:=b1[j]-a1[j,u]*Xr[u] }For j:=1 to n do If j<>u Thenbegin b1[j]:=b1[j]-m1[j,u]*Xr[u]; m1[j,u]:=0 end;End;procedure printMM; var i,j:integer;begin clrscr;for i:=1 to n Do for j:=1 to n Dobegin gotoXY((j-1)*8+1,i); write(m1[i,j]:0:3) end;for i:=1 to n dobegin gotoXY(6*(n+2),i); write('* X',x[i],' * ',b1[i]:0:4)end;end;procedure confirm(k:integer); {преобр к ненулеы коэфф по диаг}var t,i,j:integer; alf:real; b:boolean;begin{Поиск нулевого коэфф на диагонали ПНУ} b:=false; i:=k;Repeat if m2[i,k]<>0 then begin {нашли} t:=i; b:=true end; inc(i)Until ((b) or (i>n));if b=false then begin writeLn; writeLn('Система не совместна');readln;halt(1)end; {Аварийный выход}{Перестановка строки m2[t,j=k..n] <-->m2[k,j=k..n]}for j:=k to n do begin alf:=m2[k,j];m2[k,j]:=m2[t,j];m2[t,j]:=alf end;{same for matr B and X}alf:=b2[k]; b2[k]:=b2[t]; b2[t]:=alf;i:=X[k]; X[k]:=X[t]; X[t]:=i;End;BEGIN For i:=1 to n do If defX[i]=1 Then UppCase(i); {Преобразование САЛ}For j:=1 to n do b2[j]:=b1[j]; {Пеересылка free-вектора}k:=1; {Первая итерация понижения ранга (далее ПНУ-правый нижний угол)}Repeat {получение k+1-й m2 (меньшего ранга) из к-й m1}for i:=k to n do for j:=k to n do m2[i,j]:=0; {Сброс к-го ПНУ m2}for j:=k to n do m2[k,j]:=m1[k,j];{Пересылка 1-й линии длиной (n-k)}for i:=k+1 to n do{Двойной цикл просмотра большего квадрата : m1}for j:=k+1 to n do{ и формирования меньшего квадрата: m2}m2[i,j]:= (m1[i,j] - m1[i,k]*m1[k,j]/m1[k,k]); {формула пересчета}for j:=k+1 to n do b2[j]:=b1[j]-b1[k]*m1[j,k]/m1[k,k]; {то же для b2}confirm(k+1); {Проверка: ни одно число на диагонали не должна быть = 0}for i:=1 to n do for j:=1 to n dom1[i,j]:=m2[i,j]; {пересылка m2 -> m1: подготовка k+1-й итерации}for i:=1 to n do b1[i]:=b2[i]; {то же для free-вектора b2 --> b1}Inc(k); {Переход к следующей итерации}Until k=n; printMM; {Печать матриц} writeln;Xr[n]:=b2[n]/m2[n,n]; {Начало обратной прогонки}For i:=n-1 DownTo 1 DoBegin zz:=b2[i];k:=n;For j:=i To n-1 Do Begin zz:=zz-m2[i,k]*Xr[k];dec(k)End;Xr[i]:=zz/m2[i,i] End;For i:=1 to n Do WriteLn('X',X[i],'=',Xr[i]:0:5); {печать результата}END.115ЛИТЕРАТУРА1.
В.Г. Алексеев, В.Т. Григорьев, Ю.Н. Нестеров Моделирование технических объектов (ТО) конструкторско - технологического проектирования ЭВА. МГТУ. 1991 (45с) (посвящена моделированию ТО на макроуровне)2. В.Г.Алексеев, Ю.Н.Нестеров Моделирование технических объектов (ТО) конструкторскотехнологического проектирования ЭА на макроуровне. 1993, МГТУ. (50 с)3. Норенков И.П. Основы автоматизированного проектирования CAE, CAD. МГТУ, 2000.4.
В.Т.Алексеев, Ю.Н.Нестеров. Технология ЭВА. Оборудование и А. М. ВШ, 19845. Технология и автоматизация производства РЭА. Учебник для ВУЗОВ И.П.Бушминский.6. Л. Сегерлинд. Применение метода конечных элементов./ Пер. с англ. М:Мир, 1979, 350 с..