Инженерная оптимизация смесительного и валкового оборудования. Клинков А.С - 49 стр.

UptoLike

Рубрика: 

ПРОГРАММА 3
REM "имя файла - СтВПрОпт.bas"
REM Минимизация целевой функции методом скользящего допуска
REM " Расчет станин вальцев промышленных"
DECLARE SUB FEAS ()
DECLARE SUB STAR ()
DECLARE SUB WRIT ()
DECLARE SUB SUMR ()
DECLARE SUB prob (INQ!)
DIM SHARED X#(50), X1#(50, 50), X2#(50, 50), R#(100), R1#(100), R2#(100), R3#(100), SUM#(50), F#(50), SR#(50),
ROLD#(100), H#(50), FLG#(10), a#(50, 50)
COMMON SHARED kik, NX, NC, NIC, STEP0#, ALFA#, BETA#, GAMA#, IN, INF, FDIFER#, SEQL#, k1, k2, k3, k4, k5,
k6, K7, K8, K9, FOLD#, L5, L6, L7, L8, L9, R1A#, R2A#, R3A#
OPEN "СтВПрОпт.res" FOR OUTPUT AS #1
PRINT #1, " Расчет станины вальцев промышленных"
PRINT " Расчет станины вальцев промышленных"
PRINT "-----------------------------------------------------------"
PRINT #1, " ------------------------------------------------------------"
FDIFER# = 1#
NX = 3 'общее число переменных
NC = 0 'общее число ограничений в виде равенств
NIC = 10 'общее число ограничений в виде неравенств
SIZE# = 5# 'опред. размер деформ. многогранника
CONVER# = .001# 'используется для окончания поиска
ALFA# = 1#
BETA# = .5#
GAMA# = 2#
10 STEP0# = SIZE#
X#(1) = 80# 'координаты
X#(2) = 80# 'стартовой
X#(3) = 80# 'точки
' CALL prob(3)
'PRINT "ДЛЯ ВВОДА ИСХОДНЫХ ДАННЫХ НАЖМИТЕ КНОПКУ F2 и выберите PROB "
SUB prob (INQ)
'PRINT "ввод распорного усилия, [Н]"
PP = 100000
'PRINT "ввод геометрических параметров [мм]"
LL = 1520: h1 = .435 * LL: h2 = .333 * LL: cc = .1 * X#(3)
'PRINT "ввод допускаемого напряжения [МПа]"
SIG = 150
'PRINT "ДЛЯ НАЧАЛА ВЫЧИСЛЕНИЙ НАЖМИТЕ F5"
' Расчет напряжений в опасных сечениях
SIGtr = .362 * PP / .378 / X#(3) ^ 2 + .362 * PP * cc / .00385 / X#(3) ^ 3
SIGst = .0785 * PP * LL / .0112 / X#(1) ^ 3
SIGrg = .004 * PP * LL / .0112 / X#(2) ^ 3 + .885 * PP / .2565 / X#(2) ^ 2
SIGor = .056 * PP * LL / .0112 / X#(1) ^ 3
'PRINT SIGtr; SIGst; SIGrg; SIGor;
IF INQ = 2 THEN GOTO 100
IF INQ = 3 THEN GOTO 200
'ограничений в виде равенств нет
GOTO 300
'ограничения в виде неравенств
100 R#(1) = 1 - SIGtr / SIG
R#(2) = 1 - SIGst / SIG
R#(3) = 1 - SIGrg / SIG
R#(4) = 1 - SIGor / SIG
R#(5) = X#(1) / 100 - 1
R#(6) = 1 - X#(1) / 200
R#(7) = X#(2) / 100 - 1
R#(8) = 1 - X#(2) / 200
R#(9) = X#(3) / 100 - 1
R#(10) = 1 - X#(3) / 200
GOTO 300