1. DEFINISI
Problem Non-Linear Programming dapat didefinisikan sebagai upaya
mencari vektor variable disain x x1 , x 2 ,, x n yang merupakan solusi
T
g i (x) 0 i 1,2......, m
dimana fungsi tujuan z(x) dan fungsi pembatas g i (x) seluruhnya atau
sekurang-kurangnya salah satu diantaranya merupakan funsi Non-Linear.
Bergantung pada ada atau tidak adanyanya fungsi pembatas, problem non-
linear programming dapat dikelompokan sbb :
Jika solusi terletak pada fungsi pembatas maka fungsi pembatas dikatakan
aktif. Jika solusi tidak terletak pada pembatas, fungsi pembatas dikatakan
tidak aktif. Pada kasus demikian pembatas sebenarnya dapat dihilangkan.
Bergantung pada bentuk dari fungsi tujuan z(x) dan fungsi-fungsi pembatas
g i (x) , terdapat beberapa kombinasi problem non-linear programming yang
mungkin. Beberapa contoh ditunjukan pada Gambar-1.
b) Fungsi tujuan z(x) merupakan fungsi linear dan fungsi pembatas g i (x)
merupakan fungsi non-linear (Gambar-1.b). Pada contoh ini satu
pembatas bersifat non-liner aktif dan yang linear tidak aktif.
P csc P cot
S yc , S yt ,
2A1 2A 2
P csc P
S yt , (cot cot ) S yc ,
2A 3 2A 4
P EA12 P EA 24
(cot cot )
2 sin 1.281 2 ' 2 5.76 2
Jika defleksi maksimum pada titik C ditetapkan max = 2 mm. dengan
Theorema Castigliano, batasan untuk defleksi pada titik C adalah
Optimasi untuk soal diatas adalah mencari dimensi batang yang paling
berat paling minimum, yaitu
10 x 106 A1 , A 2 , A 3 , A 4 500x106
Dengan pembatas
Analisis Sistem dan Pengambilan Keputusan SDA (SA-6021) 3
NON-LINEAR PROGRAMMING
P
S yc 0,
2A1 sin
P
S yt 0,
2A 2 cot
P
S yt 0,
2A 3 sin
P
S yc (cot cot ) 0,
2A 4
EA12 P
0,
1.281 2 sin
2
EA 24 P
(cot cot ) 0,
1.281 2 2
P 0.566 0.500 2.236 2.700
max 0,
E A1 A2 A3 A 4
10 x 10 6 A 1 , A 2 , A 3 , A 4 500 x 10 6
lokasi titik optimum. Dari gambar tersebut terlihat bahwa effisiensi metoda
optimisasi sangat bergantung pada besaran Si dan i.
Beberapa contoh fungsi yang dalam suatu interval [a,b] bersifat unimodal
ditunjukan pada Gambar-4. Dari gambar tersebut terlihat bahwa fungsi
unimodal dapat berupa fungsi yang continue atau fungsi dis-continue.
Dengan demikian jika pada salah satu sisi (dikiri atau dikanan) dari harga
extrem terdapat dua harga fungsi, maka salah satu titik akan memiliki harga
lebih mendekati harga titik extrem dibanding titik yang lain.
Pencarian titik optimum pada fungsi non-linear z(x) satu variable dengan
cara pencarian (search method) dimulai dengan asumsi z(x) bersifat
unimodal dalam interval ketidak pastian (interval of uncertainty) tertentu,
sehingga titik optimum diasumsikan terletak pada interval tsb.
Jika [a,b] adalah batas-batas interval awal ketidak pastian, lebar interval ini
secara sistematis akan diperkecil dengan cara sbb (lihat Gambar-5) :
a) Harga fungsi pada batas interval [a,b] diberikan sebagai z(a) dan z(b).
b) Hitung harga fungsi z(x) pada titik x1 dan x2 dalam interval [a,b]
dihitung didapat harga z(x1) dan z(x2)
c) Bandingkan harga z(a), z(b) z(x1) dan z(x2) dan tentukan batas daerah
ketidak pastian yang baru.
d) Jika jarak batas kiri dan kanan lebih besar daerah ketidak pastian baru
lebih besar dari batas toleransi keteltitian tertentu, kembali kelangkah a).
Cara pencarian total search ini merupakan cara pencarian yang mudah
namun memiliki konvergensi yang lambat. Prosedure pencarian dilakukan
dengan algorima sbb (lihat Gambar-6) :
6. Jika Abs(L0) > kembali like langkah 1). Jika Abs(L0) < tolerasi. Titik
optimum didapat.
1. Jika suatu interval selebar satu satuan, dibagi menjadi N segmen, maka
panjang tiap segmen adalah 1/(N+1)
4
F(x)
0
1 2 3 4 5 6 7 8 9
x
B = 6
R = R/10
C
C *** MULAI LOOP PERHITUNGAN R=0.1 S/D R=0.00001
C
10 CONTINUE
L = B - A
D = 0.5*R*L
INC = 2/R
X = A
FM = F( X )
XM = A
DO 20 I=1,INC
X = A + I*D
IF( F( X ).LT.FM ) GOTO 20
FM = F( X )
XM = X
20 CONTINUE
C
C *** PENETUAN INTERVAL KETIDAK PASTIAN BARU
C
IF( XM.EQ.A )THEN
XL = A
XR = A + D
ELSEIF( XM.EQ.B )THEN
XL = B - D
XR = B
ELSE
XL = XM - D
XR = XM + D
ENDIF
A = XL
B = XR
C
C *** CHECK KONFERGENSI
C
E = ABS( XL-XR )
IF( E.GT.R )GOTO 10
C
C *** TULIS HASIL
C
CALL CPU_TIME(TIM)
WRITE(9,'(I2,I8,3F10.6,2f12.6,E10.3)') K,INC,XL,XR,FM,E,R,TIM
100 CONTINUE
STOP
END
C
C *** DEFINISI FUNGSI TUJUAN
C
FUNCTION F( X )
RETURN
END
Cara pencarian Interval halfing merupakan perbaikan cara total serach yang
sehingga proses konvergensi yang lebih cepat. Prosedure pencarian Interval
halfing dilakukan dengan algoritma sbb :
4. Jika f(x1) > f(xm), set b = xm; xm= x1 lalu ke langkah 5; selain itu ke
langkah 4.
5. Jika f(x2) > f(xm), set a = xm; xm = x2 lalu ke langkah 5; selain itu ke a =
x1, b =x2 lalu ke langkah 5.
CALL CPU_TIME(TIM)
WRITE(*,'(I6,3F13.6,2E12.3)') K,A,B,FM,E,TIM
IF( E.GT.EPS )GOTO 10
STOP
END
C
C *** DEKLARASI FUNGSI TUJUAN
C
FUNCTION F( X )
RETURN
END
Catatan :
1. Dari hasil tsb dan Gambar-7 terlihat bahwa titik maximum yang
didapat adalah titik puncak yang kedua. Hal ini karena metoda ini
didasarkan pada asumsi fungsi unimodal.
2. Untuk mendapatkan titik puncak global (puncak ketiga) perlu dilakukan
perubahan batas interval menjadi [4.768066,9] hasilnya adalah x max =
7.909987 dengan F(xmax) = 5.627263.
3. Untuk mendapatkan puncak pertama, interval pencarian dirubah
menjadi [1,4.768066] dan hasilnya adalah x max = 1.626477 dengan
F(xmax) = 3.532868.
4. Perhitungan harga mimimum fungsi F(x) = x/3 + 3 sin2(x). dilakukan
dengan merubah definisi fungsi tujuan pada program diatas menjadi
F(x) = x/3 3 sin2(x). Hasil F(xmax) dikalikan dengan 1.