Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМКД Сандық әдістер на печать.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.46 Mб
Скачать

Симплекстік әдіс

Сызықты программалау есебінің тұжырымына сүйене отырып, (3.4) – (3.6) шектеулі жүйе мен мақсатты функцияны мына түрде жазамыз:

Сонда (3.5) –ке сәйкес b1 ,b2 ,…,br бос мүшелері теріс емес, Б= базис , ал оған сәйкес fб =C0 үшін базистік шешімі (b1,b2,…,br,0,0,…,0) болады.

(3.13) –тен шығатыны, f-тің мәнін азайту дегеніміз жақшаға алынған өрнектің мәні оң болатындай, бір бос белгісізді көбейту арқылы табу жолын. Сr+1 , Cr+2 ,…, Cn коэффиценттердің таңбасына байланысты екі жағдай қарастыруға болады:

1. Барлық сандар Сr+1 , Cr+2 ,…, Cn теріс, онда f-мәні одан артық кемімейді, себебі бұл тек қана бос белгісіздердің мәндерін кеміту жолымен орындалады, бірақ ол мүмкін емес. Бұдан (3.14)-ң базистік шешімі бұл жағдайда үйдесімді болатыны шығады.

2. Сr+1 , Cr+2 ,…, Cn сандарының арасында оң сандар бар. Айталқ, мысалы сj>0 (r+1≤j≤n). Ол басқа бос белгісіздердің мәнін нолмен қалдырып, хj -ді үлкейту жолымен f-мәнін азайтуға мүмкіндлік береді. хj -ден басқа барлық белгісіздердің мәні Хr+1 , Хr+2 ,…, хn нолге тең деп, (3.12) және (3.13) негізінде мынаны аламыз:

(3.15)

…………………….

(3.16)

Алайда,(3.15) теңдіктен мәнін артыра отырып, теріс емес базистік айнымалылардың теріс емес екендігі жөніндегі шартының сақталуын қадағалап отыру керек екендігі шығады.Бұдан ,бос мүшелер теріс болмағанда соңғысы толығымен коэффициенттің таңбасына байланысты өзгеретінін көреміз.Мұнда тағы екі жағдай қарастырылады:

) Барлық сандар. оң емес.Сонда -ң мәні шексіз көбеюі мүмкін,бұл f-тің мәнін шексіз азаюға алып келед.Демек,осы жағдайда f минимумына жетпейді,яғни

2б) сандарының арасында оң сандар бар.Айталық , мысалы (1<k<r) осы шартты қанағаттандыратын коэффициенттері бірнешеу болуы мүмкін.Ол үшін дербес түрдің мәнін анықтап, осы дербес түрлердің арасынан ең кішісін алайық, ол болсын.Барлық (бәрінен бұрын )базистік белгісіздердің теріс еметігі сақталуы үшін -ң мәні K-дан үлкен болмауы керектігі түсінікті. Осы шарттардағы коэффициентін шешуші элемент деп атайды.

Сонымен деп алып,базистік белгісіздердің мәнін табамыз.

Енді белгісізі бос белгісіздердің құрамына өтуі керек, ал оның орнына базиске белгісізін енгізуіміз тиіс.Жаңа базис келесі түрде болады. .

Б базисіне сәйкес мақсатты функияның мәні мынаған тең:

Соңғы өрмек процестің біріншіқадамын орындағанан кейін мақсатты функцияның мәні кемитінін білдіреді.

Симплекс әдісінің келесі келесі қадамына көшу үшін (3.12)шектеуліжүйені және (3.13) мақсатты функцияны жаңа базисте қолданатындай өзгерту қажет.Осы мақсатпен (3.12) жүйесінде қарастырылып кеткен базистік белгісізден жаңа базистік белгісіз жүйенің қалған теңдеулерінен алынып тастап өрнектеледі.Бұдан кейін осы қарастырылған әрекет қайтадан орындалады.

Теорема 3.1:(Симплекс әдісінің алгоритмінің нәтижесі туралы)

Егер сызықты программалау есебінің үйлесімді шешімі бар болса,онда базистің үйлесімді шешімі бар болады.Бұл шешім симплекс әдісінің соңғы санының қадамы арқылы алынуы мүмкін және кез келген келтірілген базистен бастауға болады.

Симплекстік-кесте

Симплекс әдісі бойынша қолмен есептеуді симплекс кесте түрінде өрнектеген ыңғайлы.Симплекс кестесін құру қолайлы болу үшін (3.12) шектеулі жүйесін мына түрде жазамыз:

(3.17)

және мақсатты функция келесі теңдіктен анықталсын:

f+cr+1xr+1+…+cnxn=c0 (3.18)

Келтірілген (3.17-3.18) берілгендері бойынша алғашқы симплекс кестесі 3.3 кесте трінде көрсетуге болады.

3.3 кесте

Базистік белгісіздер

Х1

Бос мүшелер

b1

X1…xi…xr xr+1

1…0…0 a1,r+1

…xj

…a1j

…xn

…aij … a1n

...

...

… … … …

... …

… …

→хі

bі

0… 1 …0 ai,r+1

…aij

… ain

...

...

… … ... …

… …

… …

хr

br

0 … 0 … 1 ar,r+1

…arj

…arn

f формасы

Jkf0… 0 … 0 cr+1

… ... cj

…/ …cn

3.3.кестеге енгізілген симплекс әдісінің алгоритмін тұжырымдайық..

1. Кестенің соңғы жолына барлық сандар теріс болса, онда процесс аяқталады. Базисттік шешімі үйлесімді болады және 7/3 арасынан ең кішісін таңдап, оң шешуші элементін белгілеп қоямыз. Жаңа базиске х1 белгісізінің орнына х5 белгісізі кіреді. Шешуші элемент бірге тең болағндықтан, белгіленген жолды өзгеріссіз жаңа 3.5 кестеге ауыстырамыз. Қалған жолдарды алгоритмге сәйкестендіріп, х5 болғанында нолдер пайда болатындай өзгертеміз

3.4 кесте

Базистік белгісіздер

Бос мүшелер

X1

xi

X3

X4

X5

→хі

2

1

0

0

-1

1

х2

7

0

1

0

2

3

х2

1

0

0

1

1

-2

f формасы

3

0

0

0

-1

2

3.5 кестеде симплекс алгоритмін бірінші кезеңнен бастап қайтадан қолданамыз. Себебі соңғы жолда оң элемент бар, осымен прцесс аяқталмайды. Түрлендірулердің нәтижесінде 3.6 кесте пайда болады, мұнда соңғы жолда оң элементтер жоқ. Бұл соңғы базистік шешім (0;0;5;2;0;2;2;2;) үйлесімді екенін көрсетеді. Мақсатты функцияның сәйкес мәні f = 1,2 болады. Осылайша есеп шешілді.

3.5 кесте

Базистік белгісіздер

Бос мүшелер

X1

xi

X3

X4

X5

X5

2

1

0

0

-1

1

→х2

1

-3

1

0

5

0

X3

5

2

0

1

-1

0

f формасы

3

-2

0

0

1

0

3.6 кесте

Базистік белгісіздер

Бос мүшелер

X1

X2

X3

X4

X5

X5

2,2

0,4

0,2

0

0

1

X4

0,2

-0,6

0,2

0

1

0

X3

5,2

1,4

0,2

1

0

0

f формасы

-1,2

-1,4

-0,2

0

0

0

Сонымен шешіміміз: х1=0б, х2=0, х3=5.2, х4=0.2, х5=2.2

Дәріс №8-9. Функцияларды интерполяциялау және функциялардың жуықтауы

Жоспар:

    1. Функцияларды интерполяциялау есебі.

    2. Лагранждың интерполяцияланған көпмүшелігін құру және оның қателігін бағалау.

    3. Чебышев көпмүшелігі. Интерполяцияланған көпмүшелік.

    4. Эйткен есептеу схемасы. Бөлінетін айырымдар және олардың қасиеттері.

Кілттік сөздер: функция, интерполяция, көпмүшелік, интерполяциялық түйіндер

1. Айталық, f функциясының белгілі мәндері келесі таблицалық түрде берілсін.

х

х0

х1

...

х n

f(x)

y0

y1

yn

Сонда [x0 және xn] кесінділеріне кіретін, бірақ оның ешқандай мәнімен

xi (i =0,1,2,…,n) сәйкес келмейтін х мәні үшін f(x) функцияның мәнін анықтау керек.

f(x) = F(x) (1)

Жуықталған функцияны құруды шешудің классикалық жолы xi (i =1,2,…,n) нүктелерінде f(x) және F(x) функцияларына мәндері қатаң түрде сәйкес келуіне негізделеді, яғни

F(x0)=y0, F(x1)=y1,…, F(xn)=yn (2)

Бұл жағдайда жуықталған функцияның табылуы интерполяция деп аталады, ал х0,х1,х2,...,х n нүктелерді интерполяциялық түйіндер деп атайды.

Функцияларды интерполяциялаудың жалпы формуласын қорытып шығару қарастырылады.

2. Айталық, f функциясы келесі кесте түрінде берілсін:

х

х0

х1

...

х n

f(x)

y0

y1

yn

Енді біз Лагранждың интерполяцияланған көпмүшелігін құрайық оны Ln(x)-деп белгілейік. Лагранждың интерполяцияланған көпмүшелігінің дәрежесі n-нан аспау керек және ол үшін F(x0)=y0, F(x1)=y1,…, F(xn)=yn шарты орындалуы тиіс.

(3)

Яғни бұл интерполяцияланған Лагранж көпмүшелігі болып табылады.

Лагранждың интерполяцияланған көпмүшелігінің мәнін табу мақсатында ЭЕМ-де программа құру үшін (1) формуланы қолданамыз.

Жалпы алгоритмнің жұмысы екі циклдан тұрады: ішкі және сыртқы. Лагранждың формуласы дұрыс құрылған көпмүшеліктердің қосындысымен, яғни Li(x) – көпмүшелігімен қамтамасыз етіледі. Қорытынды нәтиже f айнымалысы болып табылады.

Дәріс №10-11. Сандық дифференциалдау және интерполяциялау

  1. Сандық дифференциалдаудың қажеттілігі.

  2. Сандық дифференциалдау есебінің қойылуы және ерекшелігі.

  3. Тең қадамды түйіндер үшін Ньютонның интерполяцияланған көпмүшелігі.

Кілттік сөздер: тең қадамды түйіндер, жуықтаулар, сандық дифференциалдау, түйіндер, интерполяциялық көпмүшеліктер

1. Сандық дифференциалдаудың қажеттілігі.

Аргументтері бірдей қашықтықтағы мәндері мен кесте түрінде берілген функция үшін интерполяциялау жиі жүргізіледі. Бұл жағдайда таблицаның қадамы f=x(i+1)-xi (i=1,2,…) тұрақты шама болады. Осындай таблица үшін интерполяциялық формуланы құру айтарлықтай ықшамдалады.

Соңғы айрымдар. Кез келген реттің соңғы айырмасын функция мәні арқылы беруге болады. Ньютонның интерполяцияланған көпмүшелігі екі формулаға бөлінеді: Ньютонның 1- ші интерполяциялық формуласы және Ньютонның 2- ші интерполяциялық формуласы.

Ньютонның 1- ші интерполяциялық формуласын алдын ала интерполяциялау депатайды. Мұнда х0 –дің бастапқы мәні үшін, х аргументінің кестедегі кез келген мәнін алуға болады:

(1)

Бұл формуланы Ньютонның 1- ші интерполяциялық формуласы деп атайды.

(2)

Бұл формуланы Ньютонның 2- ші интерполяциялық формуласы деп атайды.

Интерполияциялау көпмүшелігінің қателігі Лагранждың және Ньютонның интерполяцияланған көпмүшелігіне қатар жүргізіледі.

2. Сандық дифференциалдау есебі. Сандық дифференциалдау есебінің ерекшелігі.

Кейде аналитикалық берілген функцияны күрделілігіне байланысты оның туындыларын табу қиынға түседі немесе туындыларды табуға арналған өрнектерді қандайда бір түрге әкелу ыңғайсыз болуы мүмкін. Мұндай жағдайда біз жуықтап есептеу немесе сандық дифференциалдауды қолданамыз.

Егер функция кестелік түрде берілсе, онда мұндай әдістерді қолдану қажеттілігі туындайды. Сондықтан, сандық дифференциалдау есептерін шешудің бір әдісі интерполяцияланған көпмүшелікті қолдану.

Сандық дифференциалдау есептерінің ерекшеліктері

Математикалық анализ курсынан қарапайым элементар функциялардың туындыларын табудың кестесі мен ережелері бар екені бәрімізге белгілі. Кестеде берілген формулалар мен туынды табудың ережелерін пайдаланып, біз көптеген элементар функциялардың туындыларын таба аламыз. Дегенмен функцияның аналитикалық өрнегі өте күрделі болғанда туындының мәнін табу әрқашан мүмкін бола бермейді. Сонымен бірге әсіресе функцияның мәндері кестемен берілгенде туындының мәнін табу қиындай түседі. Міне осындай жағдайларда туындының белгілі бір нүктедегі мәнін табу үшін, оның жуық мәнін табу басқаша айтқанда сандық дифференциялдау әдісі кеңінен қолданылады. Сандық дифференциялдауды жүзеге асыру үшін біз 2-тарауда қарастырған интерполяциялық көпмүшеліктерді пайдаланамыз.

Айталық функциясы аралығының берілген нүктесіндегі туындысын табуға тиісті функция болсын, ал - осы функция үшін сегментінде құрастырылған интерполяциялық көпмүшелік болсын дейік.

функциясын интерполяциялық көпмүшелікпен ауыстыру арқылы біз функциясының сегментіндегі туындысының мәнін

интерполяциялық көпмүшеліктің мәні ретінде аламыз, яғни жуық түрде

(1)

деп аламыз.

Осы сияқты функциясының жоғары ретті туындыларының мәнін де табуға болады.

Интерполяциялау қателігі

теңдікпен анықталатынын ескерсек (п. 4.6-ны қара) туындыны есептеу қателігін (2)

формуламен анықтауға болатынын, яғни интерполяцияланатын функцияның туындысының қателігі осы функцияның қателігінің туындысына тең болатынын табамыз.

Бұл жерде сандық дифференциалдау есебінің корректілі емес болатынын ескертеміз. Себебі интерполяциялық көпмүшеліктің туындысының қателігі интерполяциялық көпмүшеліктің қателігінен анағұрлым көп болады.

11- суреттен (Зав) пен -тердің мәндерінің ептеген айырмашылығы, тіпті дәл келуі олардың туындылары пен -тің мәндерінің дәл келетінін қамтамасыз ете алмайтынын ( және жанамалар әртүрлі ) көреміз.

Төменде біз 4-тарауда қарастырылған Лагранж бен Ньютонның интерполяциялық көпмүшеліктерінің көмегімен сандық дифференциалдау мәселесін қарастырамыз.

Тең қашықтықта орналасқан түйіндер үшін Лагранждық интерполяциялық формуласы

кесіндісінде кестемен берілген функцияны сандық дифференциялдау кезінде біз осы кесіндіде өзара тең түйіндерден тұратын түйіндер жүйесін құрып алуымыз керек. Осы нүктелер арқылы берілген кесінді болатындай тең бөлікке бөлінеді.

Бұл жағдайда интерполяция қадамы маңызды роль атқарады және Лагранждық интерполяциялық көпмүшелігі (Ньютонның интерполяциялық көпмүшелігі сияқты) тең түйіндер үшін құрастырылады және есептеу жұмыстарын жүргізуге ыңғайлы болады.

(3)

енгіземіз және (4.9 с. 80 беттегідей)

формуланы ескеріп үшін жаңа өрнек аламыз.

белгілеуді ескерсек және (3) –ті пайдалансақ онда біртіндеп төмендегі теңдіктерді аламыз:

тағы сол сияқты

(4)

(4) белгілеуді пайдаланып

теңдік аламыз.

Жазуды қысқарту мақсатында

белгілеу енгізейік, сонда өрнегі

(5) түрге келеді.

Есептеудегі қадам тұрақты, яғни

болатынын ескерсек біртіндеп мына теңдіктерді аламыз:

(6)

(6) теңдіктер дәл жолдан тұратынын ескеру керек, ( -нші жол жоқ) және алғашқы жолдағы айырмалар оң сандар, ал қалғандары –теріс сандар. (6) теңдіктерді пайдалансақ

теңдік немесе

(7)

(6) және (7) теңдіктерді ескерсек Лагранждың тең қашықтықтағы түйіндер үшін формуласы

(8) шығады.

Мысал. Берілген тең түйіндердегі функцияның мәндері бойынша Лагранждың интерполяциялық көпмүшелігін құру керек.

Кесте 5.1


(8) формуланы пайдаланамыз, сонда

Түйіндердегі таблицадағы мәндер осы формуладан болғанда табылады.

Лагранждық интерполяциялық көпмүшелігінің көмегімен сандық дифференциалдау.

(1) теңдікті пайдалана отырып, (8) Лагранж көпмүшелігін -нің функциясы ретінде бойынша дифференциалдайық, сонда:

жуық теңдік аламыз. (5.3) –тен және болатынын ескерсек

(9) аламыз.

(9) формуланы пайдаланып, сегментінде (бұл кезде параметр 1 ден -ге дейінгі мәндерді қабылдайды) тең түйіндерде берілген функциясының туындысының жуық мәнін есептеуге болады. Сол сияқты функциясының жоғарғы ретті туындыларын табамыз.

Мысал. Төмендегі кестемен берілген функциясының туындысының нүктедегі мәнін табындар.

5.2 кесте

x

3

4

5

f(x)

2

-1

6


Шешуі: (9) формуланы пайдаланып (мұнда )

болатынын есептеп табамыз.

Енді түйін мәніне сәйкес келетінін ескерсек, болатынын көреміз.

Егер функциясының аналитикалық өрнегі белгілі болса, онда сандық дифференциалдаудың қателігін итерполяциялау қателігінің формуласын (см п. 4.6 с. 88) пайдаланып табамыз, яғни

(10)

мұндағы мән -тен және түйіндерден өзгеше болатын кесіндісіндегі мән. (5.2) ескерсек және функциясы рет дифференциалданады десек, онда

(11)

формуланы аламыз.

Егер туындының мәні кестедегі түйінде табылатын болса. (11) формула әжептәуір қарапайым түрге көшеді. Бұл жағдайда (7)-ні ескеріп

(12)

формула аламыз, мұндағы мән мәндердің арасынан алынған мән.

белгілеу енгізсек, сандық дифференциал-даудың түйіндердегі абсоют қателігін бағалаудың төмендегідей формуласын аламыз:

(13)