
Бул изилдөө классикалык ташуу маселесин MATLAB чөйрөсүндөгү сызыктуу жана квадраттык программалоо куралдары менен чечүүнү жана ошол эле математикалык түзүлүштү электр энергиясын булактар менен керектөөчүлөрдүн ортосунда минималдуу жоготуу критерийи боюнча бөлүштүрүү маселесине ылайыкташтырууну карайт. Ташуу маселеси — бир нече булакта чектелген көлөмдөгү ресурстун бир нече керектөөчүгө суроо-талап чектөөлөрү алдында бөлүштүрүлүп, жалпы ташуу, нарк же жоготуу критерийин минималдаштыруу көздөлгөн операциялык изилдөө модели. Булак эмгекте сызыктуу маселелер MATLABдын linprog, ал эми квадраттык максат функцияларын камтыган маселелер quadprog функциясы менен чечилет.
Авторлордун негизги алгоритмдик мамилеси — ташуу маселесиндеги сунуш менен суроо-талап мамилелерин көрсөткөн A жана Aeq матрицаларын болгону 0 жана 1 маанилеринен турган иреттүү түзүлүштө кура алууда. Моделдин топологиясы өзгөрбөсө, оптималдаштыруу маселесин жаңы иштөө шарттарына ылайыкташтыруу негизинен үч векторду өзгөртүү менен аткарылат: нарк же жоготуу коэффициенттерин камтыган f, булак чектерин камтыган B жана керектөөчү талаптарын камтыган Beq.
Электр энергиясын бөлүштүрүүгө байланышкан негизги мисалда үч булак тиешелүүлүгүнө жараша 630, 1.000 жана 400 kW кубаттуулукка ээ; төрт керектөөчүнүн талаптары болсо 800, 200, 600 жана 300 kW. MATLAB linprog чечиминде булак тарабынан X = [30 0 600 0 500 200 0 300 270 0 0 0] бөлүштүрүү планы жана J = 621 минималдуу сызыктуу жоготуу критерийи берилген. Бул план бардык керектөөчү талаптарын канааттандырып, жалпы 2.030 kW булак кубаттуулугунун 1.900 kW бөлүгүн пайдаланат жана үчүнчү булакта 130 kW кубат калтырат.
Макала ушул эле маселени квадраттык программалоого да кеңейтет. Бул ыкмада сызыктуу нарк мүчөсүнө H матрицасы аркылуу экинчи даражадагы айып/нарк компоненти кошулат. Бирок электр бөлүштүрүүгө тиешелүү квадраттык мисалда булак H = 0,001I менен квадраттык компонентти 40,6900 деп берет; жарыяланган X вектору менен бул сандар арифметикалык жактан шайкеш келбейт. Ошондуктан квадраттык мисалдын бул бөлүгү булак ичиндеги сандык дал келбестикти камтыйт жана жыйынтыктарды кайра өндүрүүдө түпкү MATLAB файлын текшерүү керек.
Ташуу Маселеси MATLABда Кантип Оптималдаштыруу Маселесине Айланат?
Ташуу маселесинде чечим өзгөрмөсү \(x_{ij}\), \(i\)-номердеги булактан \(j\)-номердеги керектөөчүгө жөнөтүлө турган продукт, энергия же башка ресурстун көлөмүн билдирет. Максат — ар бир байланыштын бирдик наркын же жоготуу коэффициентин ташылган көлөм менен бирге эске алып, жалпы критерийди минимумга түшүрүү.
Булак макала сызыктуу моделди төмөнкү матрицалык түзүлүш менен берет:
Бул жерде \(x\) — чечим өзгөрмөлөрүнүн вектору, \(f\) — ар бир агымдын нарк же жоготуу коэффициенттери, \(A\) — булак чектөөлөрү, \(B\) — булактардын жеткиликтүү көлөмдөрү, \(A_{eq}\) — керектөөчүлөргө тиешелүү теңдик түзүлүшү, ал эми \(B_{eq}\) — талап көлөмдөрү.
MATLAB linprog синтаксиси
Булакта колдонулган негизги MATLAB чакыруусу төмөнкүчө:
[x, J] = linprog(f, A, B, Aeq, Beq, lb, ub)x оптималдуу чечим векторун, ал эми J табылган минималдуу максат функциясынын маанисин билдирет.
Ташуу маселесинде \(x\) функциянын кирүү параметрлеринин арасында көрүнбөйт; ал оптималдаштыруу маалында MATLAB тарабынан чечилүүчү ички өзгөрмө болуп саналат. Вектордун өлчөмү f жана өзгөрмө чектери аркылуу аныкталат.
Эмне үчүн f, B жана Beq Векторлорун Гана Өзгөртүү Жетиштүү Боло Алат?
Булак сунуштаган алгоритмдин негизги артыкчылыгы — булак менен керектөөчүнүн саны бирдей болгон ташуу маселелеринде байланыш түзүлүшүн көрсөтүүчү A жана Aeq матрицалары туруктуу 0–1 шаблон катары түзүлө ала тургандыгы. Ошондуктан нарктар, булак көлөмдөрү же керектөөчү талаптары өзгөргөндө матрицанын топологиясын кайра кол менен түзүүнүн ордуна болгону f, B жана Beq маалыматтарын жаңыртуу жетиштүү болот.
Үч булак жана төрт керектөөчү үчүн A матрицасы
Үч булак жана төрт багытты камтыган тутумда ар бир булак төрт чечим өзгөрмөсү менен байланышкан. Ошондуктан булак чектөө матрицасын блок түрүндө курууга болот:
Биринчи сап биринчи булактан бардык керектөөчүлөргө жөнөтүлгөн жалпы көлөмдү, экинчи сап экинчи булакты, үчүнчү сап болсо үчүнчү булакты чектейт.
Aeq матрицасынын милдети
Aeq бир эле керектөөчүгө ар башка булактардан жеткен көлөмдөрдү чогултат. Ошентип, мисалы P1 үчүн:
сыяктуу талап теңдемесин түзүүгө болот.
Булак макаланын жалпы теңдеме көрсөтмөлөрүнүн биринде керектөөчү суммасы үчүн ≤ белгиси көрүнгөнү менен, MATLAB модели жана жарыяланган Aeq x = Beq түзүлүшү керектөөчү талабын теңдик түрүндө колдонот. Бул — булактын ичиндеги көрсөтмө дал келбестиктеринин бири.
Изилдөөнүн Ыкмасы жана Жыйынтыктары
Алгачкы 12 өзгөрмөлүү linprog мисалы
Булакта берилген биринчи кеңири мисалда:
f = [8 11 1 4 5 2 7 3 10 4 3 5]
B = [120 97 69]'
Beq = [54 32 25 15]'маалыматтары колдонулат.
MATLAB жыйынтыгы:
X = [0 0 25 4 54 32 0 11 0 0 0 0]жана:
түрүндө берилген.
Тең салмактуу 3×3 ташуу маселеси
Булактын биринчи өзүнчө мисалында үч булактын жалпы сунушу керектөөчүлөрдүн жалпы талабына барабар.
Оптималдуу план:
X = [5 25 0 0 10 10 40 0 0]жана минималдуу критерий:
деп берилген.
Тең салмаксыз 3×3 ташуу маселеси
Экинчи мисалда жалпы сунуш жалпы талаптан чоң.
Булак жыйынтыгы:
X = [50 30 0 0 50 0 0 0 50]Ташуу Маселеси Электр Энергиясын Бөлүштүрүүгө Кантип Ылайыкташтырылат?
Изилдөөнүн инженердик жактан эң маанилүү кадамы — “продукт ташуу” түшүнүгүн электр кубатын бөлүштүрүүгө айландыруу. Бул түшүндүрмөдө булактар — кеме же кургактагы трансформатордук станциялар же дизелдик генератор топтору, ал эми багыттар — электр керектөөчүлөрү. Ташылуучу көлөм физикалык продукттун ордуна кубат болуп саналат; ташуу наркы болсо энергияны өткөрүүдөгү салыштырмалуу жоготуу наркы.
Булак кубаттуулуктары
| Булак | Кубаттуулук |
|---|---|
| St1 | 630 kW |
| St2 | 1.000 kW |
| St3 | 400 kW |
| Жалпысы | 2.030 kW |
Керектөөчү талаптары
| Керектөөчү | Талап |
|---|---|
| P1 | 800 kW |
| P2 | 200 kW |
| P3 | 600 kW |
| P4 | 300 kW |
| Жалпысы | 1.900 kW |
Бирдик жоготуу критерийлери
| P1 | P2 | P3 | P4 | |
|---|---|---|---|---|
| St1 | 0,3 | 0,9 | 0,2 | 0,3 |
| St2 | 0,4 | 0,5 | 1,0 | 0,1 |
| St3 | 0,6 | 0,8 | 0,6 | 0,4 |
Бул маанилер MATLABдын максат векторунда:
f = [0.3 0.9 0.2 0.3 0.4 0.5 1.0 0.1 0.6 0.8 0.6 0.4]түрүндө иреттелет.
linprog менен оптималдуу кубат бөлүштүрүү
Булак тарабынан табылган чечим:
X = [30 0 600 0 500 200 0 300 270 0 0 0]түрүндө.
| Булак | P1 | P2 | P3 | P4 | Колдонулган кубат |
|---|---|---|---|---|---|
| St1 | 30 | 0 | 600 | 0 | 630 kW |
| St2 | 500 | 200 | 0 | 300 | 1.000 kW |
| St3 | 270 | 0 | 0 | 0 | 270 kW |
Керектөөчү мамычаларынын суммалары тиешелүүлүгүнө жараша 800, 200, 600 жана 300 kW. Демек бардык талап аткарылат.
Үчүнчү булакта:
колдонулбай калган кубат бар.
Сызыктуу максат функциясынын минималдуу мааниси:
деп көрсөтүлгөн.
Квадраттык Программалоо Сызыктуу Моделге Эмнени Кошот?
Сызыктуу программалоодо максат функциясы болгону \(f^Tx\) түрүндө болот. Квадраттык программалоодо буга чечим өзгөрмөлөрүнүн экинчи даражадагы таасирлерин чагылдырган мүчө кошулат:
ал эми чектөөлөр:
болуп сакталат.
MATLAB quadprog синтаксиси
x = quadprog(H, f, A, B, Aeq, Beq, lb, ub)H максат функциясынын экинчи даражадагы компонентин билдирет.
Булактын алгачкы квадраттык мисалы
Булак:
v = 0.01*ones(12,1)
H = diag(v)түрүндө диагоналдуу H матрицасын аныктайт.
Сызыктуу чечим менен бирдей:
x = [0 0 25 4 54 32 0 11 0 0 0 0]вектору үчүн:
деп берилет. Бул үч сан арифметикалык жактан бири-бирине шайкеш.
Электр Бөлүштүрүү Үчүн Берилген Квадраттык Жыйынтыкта Сандык Дал Келбестик Барбы?
Ооба. Булак электр бөлүштүрүү мисалында v = 0,001ones(12,1) жана H = diag(v) деп жазганы менен, жарыяланган X үчүн квадраттык компонентти 40,6900 деп берет. Ушул эле вектор жана \(H=0,001I\) кошо колдонулганда бул мүчө 406,9 болот; булакта берилген 40,69 мааниси болсо \(H=0,0001I\) масштабы менен шайкеш. Ошондуктан жарыяланган квадраттык электр бөлүштүрүү мисалы ондук коэффициент жагынан көз карандысыз текшерүүнү талап кылат.
Булак билдирген квадраттык электр бөлүштүрүү жыйынтыгы
X = [30 0 600 0 500 200 0 300 270 0 0 0]Булак:
маанилерин билдирет.
Verianla бул маанилерди булакта жарыяланган жыйынтыктар катары берет; бирок v=0,001 туюнтмасы менен болгон арифметикалык шайкеш эместикти өзүнчө көрүнүктүү кармайт.
Сызыктуу жана квадраттык J маанилери түздөн-түз бир эле өндүрүмдүүлүк метрикасы эмес
Сызыктуу маселеде:
болсо, квадраттык маселеде:
колдонулат. Ошондуктан квадраттык моделде Jнин жогору чыгышы жалгыз өзү чечим начарыраак дегенди билдирбейт; эки максат функциясы бир эле математикалык критерий эмес.
Моделдин автоматтык көзөмөл мамилеси
Булак авторлору түзүлгөн MATLAB файлдарында материалдык же энергия агымдарын автоматтык түрдө көзөмөлдөөгө болоорун белгилешет. Талаптардын жалпы көлөмү жеткиликтүү сунуштан ашып кеткен сыяктуу аткарылбай турган иш шарттарында процессти токтотууга болоору айтылат.
Мындан тышкары, f векторундагы маанилерди убакыттын өтүшү менен өзгөртүү мүмкүнчүлүгү, мисалы күн ичинде электр энергиясынын бирдик наркы өзгөргөн учурларды ошол эле модель шаблону менен кайра оптималдаштырууга шарт түзөт.
Изилдөө түздөн-түз колдогон жыйынтыктар
- Ташуу маселеси MATLAB
linprogколдонуу менен сызыктуу программалоо түрүндө чечилет. - Ушул эле маселе
quadprogаркылуу экинчи даражадагы максат компоненти кошулган түргө кеңейтилиши мүмкүн. - Ташуу маселесиндеги чектөө матрицалары иреттүү 0–1 түзүлүштөрү катары автоматтык түзүлүшү мүмкүн.
- Моделдин түзүлүшү туруктуу болгондо
f,BжанаBeqөзгөрүүлөрү менен ар кандай эксплуатациялык абалдар чечиле алат. - Үч булак-төрт керектөөчү мисалында жалпы 2.030 kW кубат менен 1.900 kW талап камсыздалган.
- Булак linprog чечиминде минималдуу сызыктуу критерийди J=621 деп билдирет.
- Электр кубатын бөлүштүрүү классикалык ташуу маселесинин булак-керектөөчү түзүлүшүнө ылайыкташтырылат.
Изилдөө өзү эле колдобогон жыйынтыктар
- Чыныгы кеме же порт электр тармагында өлчөнгөн энергия үнөмдөөсү көрсөтүлгөн эмес.
- J=621 маанисинин белгилүү бир kWh же акча бирдигине түздөн-түз туура келери түшүндүрүлгөн эмес.
- Реалдуу убакыттагы талаа колдонмосундагы эсептөө кечигүүлөрү өлчөнгөн эмес.
- Чыңалуу, реактивдүү кубат, линия тогу жана кубат агымы сыяктуу AC тармактын физикалык чектөөлөрү толук электр кубат агымы модели катары каралган эмес.
- Квадраттык электр бөлүштүрүү мисалы жарыяланган 0,001 коэффициенти менен сандык жактан толук шайкеш экенин көрсөтүү мүмкүн эмес.
Изилдөөнүн күчтүү жактары
Изилдөөнүн эң күчтүү жагы — классикалык операциялык изилдөө моделин түздөн-түз MATLAB кодуна айлантып, ошол эле алгоритмдик шаблонду логистикалык ташуу жана электр кубатын бөлүштүрүү сыяктуу ар башка маселелерге ылайыкташтыра алышы.
Экинчи күчтүү жагы — матрицалардын 0–1 түзүлүшүн колдонуп, моделдин кириштерин үч негизги маалымат векторуна чейин кыскартууну көздөшү. Бул айрыкча талап же нарк маанилери бат-бат өзгөргөн операциялык тутумдарда кайра моделдөө жүгүн азайта алат.
Үчүнчү күчтүү жагы — сызыктуу да, квадраттык да максат функцияларын бир эле чектөө түзүлүшүнүн ичинде карашы.
Негизги чектөөлөр
Электр бөлүштүрүү мисалы математикалык булак-керектөөчү бөлүштүрүү модели катары түзүлгөн; ал деталдуу AC кубат агымы же физикалык тармак модели эмес.
Булак коддордун толук программалык пакети макала менен кошо өз алдынча жүктөп алына турган маалымат сактагыч катары көрсөтүлгөн эмес.
Квадраттык электр бөлүштүрүү мисалында v=0,001 менен жарыяланган квадраттык нарктын ортосунда он эсе арифметикалык масштаб маселеси бар.
Тогуз жана он эки абал өзгөрмөлүү моделдердин түшүндүрмөлөрү айрым бөлүмдөрдө бири-бирине аралашып кеткен.
Өндүрүш таблицасындагы айрым \(x_{ij}\) индекстеринин жазылышы да 3×4 матрицалык тартипке шайкеш келбейт.
Булак жана Ыкма Эскертүүсү
- Түпнуска аталышы: Оптимизация технологических процессов на базе транспортной задачи в инструментах MATLAB
- Англисче аталышы: Optimization of technological processes based on the transport task in MATLAB tools
- Автор 1: Sergey O. Baryshnikov
- Автор 2: Vladimir V. Saharov
- Автор 3: Alexandr A. Chertkov
- Жооптуу автор: Alexandr A. Chertkov
- Мекеме: Admiral Makarov State University of Maritime and Inland Shipping, Saint Petersburg, Russia
- Журнал: Vestnik of Astrakhan State Technical University. Series: Marine Engineering and Technologies
- Саны: 1
- Жылы: 2026
- Барактар: 85–92
- DOI: 10.24143/2073-1574-2026-1-85-92
- EDN: OTVRVX
- ISSN: 2073-1574 (Print)
- ISSN Online: 2225-0352
- Жөнөтүлгөн күнү: 06.11.2025
- Рецензиядан кийинки бекитүү: 29.12.2025
- Жарыялоого кабыл алуу: 22.01.2026
- Булак түрү: Операциялык изилдөө, математикалык программалоо жана MATLAB алгоритмин иштеп чыгуу боюнча изилдөө
Булак ичиндеги бүтүндүк белгилери
- Электр бөлүштүрүүнүн квадраттык мисалында
v=0,001менен1/2 X'HX=40,6900сандары бири-бирине шайкеш келбейт. - Булак тогуз өзгөрмөлүү модель туюнтмасын колдонгону менен, 12 өзгөрмөлүү 3×4 мисалдарды да берет.
- Талап чектөөсү бир жерде ≤, ал эми MATLAB моделинде
Aeq x = Beqтүрүндө берилген. - Өндүрүш матрицасынын St3 сабындагы айрым x индекстери матрицанын орундарыменен шайкешсиз көрүнөт.
rank(W)коду туура жазылганы менен, түшүндүрмө тексттин бир жеринде функциянын аты башкача жазылган.
Илимий түшүндүрмөнүн чеги
Изилдөө ташуу маселеси менен MATLAB оптималдаштыруу куралдарынын электр кубатын бөлүштүрүү сыяктуу технологиялык процесстерге кандайча колдонулушу мүмкүн экенин сандык мисалдар аркылуу көрсөтөт. Бирок жыйынтыктар деталдуу физикалык электр тармагынын модели же талаадагы реалдуу энергия жоготууларын өлчөө эмес. Ошондуктан алынган бөлүштүрүү планы жана J маанилери булакта аныкталган математикалык максат функциясы жана чектөөлөр менен гана чектелет.

Пикир калтырыңыз
E-mail дарегиңиз жарыяланбайт. Милдеттүү талаалар * менен белгиленген