ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ BCPOL (DBCPOL)
![Π Π΅ΡΠ΅ΡΠ°Ρ: ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ BCPOL (DBCPOL)](https://gugn.ru/work/6595426/cover.png)
ΠΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ΅ ΠΆΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ; ZNIZWRK-ΠΌΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΡΠ°Π³, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π½ΠΈΠΆΠ½ΠΈΠ΅ Π³ΡΠ°Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ; ZVRXWRK-ΠΌΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΡΠ°Π³, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π²Π΅ΡΡ Π½ΠΈΠ΅ Π³ΡΠ°Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ; ftol — ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΡ ΡΡ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΠ΅ΡΠ²ΡΠΉ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ ΡΡ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ: Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ ftol, Ρ. Π΅. ΠΊΠΎΠ³Π΄Π° f (worst)-f (best… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ BCPOL (DBCPOL) (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΎΠ΄ΠΏΡΠΎ1ΡΠ°ΠΌΠΌΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ «ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ([Π6], Ρ.2, ΡΡΡ.150). ΠΠΌΠ΅Π΅Ρ Π²ΡΠ·ΠΎΠ² Π΄Π»Ρ ΡΠ°ΡΡΡΡΠΎΠ² Ρ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΡΡ ;
CALL BCPOL (FUNCT, npar, AR, ibtype, ZNIZWRK, ZVRXWRK, ftol, maxfcn, DTX, fvalue).
Ρ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ;
CALL DBCPOL (FUNCT, npar, AR, ibtype, ZNIZWRK, ZVRXWRK, ftol, maxfcn, DTX, fvalue).
ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Ρ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΡΡ, ΡΠΎ Π²ΡΠ΅ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ ΠΊΠ°ΠΊ REAL (8). Π€ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΎΠ·Π½Π°ΡΠ°ΡΡ:
FUNCTΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ; Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅Π»ΠΈ fcl ΠΏΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠΌ Π΅ΠΉ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ AR. Π Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ EXTERNAL. ΠΡΠΎΡΠΌΠ»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΊΠ°ΠΊ.
SUBROUTINE FUNCT (npar, AR, fcl), Π³Π΄Π΅ ΠΠ₯ΠΠ:
nparΠΊΠΎΠ»ΠΈΡΠ΅ΡΠ³Π²ΠΎΠ²ΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ;
AR — ΠΌΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ npar, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ΅Π»ΠΈ; ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅;
ΠΠ«Π₯ΠΠ:
fcl — Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅Π»ΠΈ, Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π² AR. ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΏ (BCPOL) DBCPOL: ΠΠ₯ΠΠ:
nparΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠ²ΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ;
ARΠΌΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ npar, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅ΠΌΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ;
ibtype — ΡΠΊΠ°Π»ΡΡ, Π·Π°Π΄Π°ΡΡΠΈΠΉ Π²ΠΈΠ΄ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅; ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ: ibtype = 0 — Π²ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ; ibtype = 1 — Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½Π΅ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅; ibtype = 2- Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½Π΅ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠ΅;
ibtype = 3 — ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°Π΄Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ;
Π²ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ΅ ΠΆΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ; ZNIZWRK-ΠΌΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΡΠ°Π³, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π½ΠΈΠΆΠ½ΠΈΠ΅ Π³ΡΠ°Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ; ZVRXWRK-ΠΌΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΡΠ°Π³, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π²Π΅ΡΡ Π½ΠΈΠ΅ Π³ΡΠ°Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ; ftol — ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΡ ΡΡ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΠ΅ΡΠ²ΡΠΉ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ ΡΡ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ: Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ ftol, Ρ. Π΅. ΠΊΠΎΠ³Π΄Π° f (worst)-f (best) < ftol*(l+ABS (f (best))), Π³Π΄Π΅ f (worst) ΠΈ f (best) — ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΡΠΈΡ Ρ ΡΠ΄ΡΠ΅ΠΉ ΠΈ Π»ΡΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΡΠ°Π½Π½ΠΈΠΊΠ°. ΠΡΠΎΡΠΎΠΉ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ ΡΡ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ: Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΏ+1 ΡΠ΅ΠΊΡΡΠΈΡ ΡΠΎΡΠΊΠ°Ρ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ ftol. ΠΡΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΏΡΠ΅ΠΆΠ΄Π΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΡΡΡΡ Ρ ΠΌΠ΅Π½ΡΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ftol; maxfcn — Π½Π° Π²Ρ ΠΎΠ΄Π΅ — ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ FUNCT Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ; Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ — ΡΠ΅Π°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ FUNCT;
ΠΠ«Π₯ΠΠ:
DTX — ΠΌΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠ°Π³, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ (Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅ΠΌΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ); fvalue — ΡΠΊΠ°Π»ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠΎΡΠΊΠ΅ DTX (ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅Π»ΠΈ).