ного програмування. Тому ми обмежимося лише побудовою наближеного чисельного алгоритму. Ми виділяємо вільні змінні: G 0 , G 1 , G 3 , G 4 , G 7 ; h 0 , h 1 , h 5 , h 6 . Всі інші параметри є залежними і обчислюються на основі значень вільних за формулами, наведеними вище (3.26 - 3.35). Зауважимо, що дві останні формули, хоча і не виражаються явно через вільні змінні, в правій частині містять змінні, які отримані з попередніх формул.
Оскільки кількість вільних змінних дорівнює 9, що досить багато для оптимізації по всім змінним, ми фіксуємо всі вільні змінні за винятком однієї, наприклад G 1 . І будемо проводити оптимізацію тільки по одній змінної. Суть алгоритму полягає в наступному. Ми вибираємо межі зміни нашої обраної вільної змінної і змушуємо її пробігати кінцеве безліч значення з цього інтервалу з деяким кроком. Для кожного такого значення ми обчислюємо значення ККД системи і перевіряємо, чи виконуються обмеження на мінімальне і максимально значення для G і h. З усіх значень G і h, для яких виконуються обмеження задачі, ми вибираємо ті, на яких досягається максимум ККД всієї системи. Якщо ж для всіх значень вибраного вільного параметра обмеження не виконується, то при даному виборі обмежень, вільного параметра і інтервалу його зміни рішень немає.
Зауважимо, що вибір користувачем змінюваного вільного параметра, меж його значень, а також значень фіксованих вільних змінних таким чином, щоб завдання мала рішення, є "вузьким місцем" алгоритму і, взагалі кажучи, представляє складне завдання .
Результати експерименту представляються в зручному для аналізу графічному вигляді.
Програма, розроблена на алгоритмічній мові C + +, наведена нижче.
# include
# include
# include
# include
# include
# define IS_ZERO (Arg) (fabs (Arg) <0.000001)
# define INFTY1000000// нескінченність
// ------------------- Початкові параметри ----------------- p>
// ------------------- fik - ККД k-го теплообмінника -------------- ---
double fi2, fi3, fi4...