1
Deskripsi Perkuliahan
• Mata kuliah ini akan membahas:
– Falsafah dan ruang lingkup Teknik Optimasi
– Optimasi Non-Linier
– Optimasi Tanpa Kendala
– Optimasi Dengan Kendala
– Optimasi Kriteria Jamak
• Sudah diajarkan di Dept TIN sejak 1985
• Wajib mayor TIN sejak 2008
2
Strategi Perkuliahan
• Jumlah Kredit 3 :
– 2 Jam Kuliah, 3 Jam Praktimum
– 1 Jam = 50 menit
• Kuliah:
– Online: Synchronous dan Asynchronous (LMS)
– Yandra, Erliza Noor, Ika Amalia Kartika, Farah Fatma
• Responsi:
– Online: Synchronous dan Asynchronous (LMS)
– Deasy Kartika, Nisa Zahra
3
• Rancangan Penilaian:
- UTS : 35%
- UAS : 35%
- Responsi (Latihan dan Tugas) : 30%
4
Topik Perkuliahan
Pokok Topik Referensi
Bahasan
1 Kontrak Perkuliahan -
Pengantar Teknik Permodelan dan Optimasi Proses Chapter 1-4
2 Optimasi Tanpa Kendala Peubah Tunggal Chapter 5
5
Referensi Utama
• Judul:
– Optimization of Chemical Processes
• Pengarang:
– Thomas F Edgar, David M Himmelblau dan Leon S Lasdon
• Penerbit:
– Mc Graw Hill (Tahun Terbaru)
6
Buku Penunjang
• Text Book 1:
– Title : Practical Optimization Methods with Mathematical Applications
– Author : M. Asghar Bhatti
– Publisher : Springer-Verlag, New York
• Text Book 2:
– Title : Numerical Methods and Analysis
– Authors : James L. Buchanan, Peter R. Turner
– Publisher : Mc. Graw Hill, New York
7
PENGANTAR TEKNIK PERMODELAN
DAN OPTIMASI PROSES
8
Teknik Optimasi
9
• OPTIMASI Mencari nilai maksimum
dan/atau minimum dari
suatu fungsi
• Bentuk-bentuk fungsi:
- Linier
- Tak Linier
- Diskrit
- Kontinyu
10
• Optimasi : - Tanpa Kendala
- Dengan Kendala
- Single Objective
- Multi Objective
11
• Yang akan dipelajari pada mata ajaran ini:
- Optimasi untuk fungsi non-linier (tanpa dan
dengan kendala)
- Dengan berbagai teknik analitik dan numerik
(point to point search)
- Teknik baru:
• Multiple-point search
• Genetic Algorithms
• Selain itu akan dipelajari juga Optimasi Kriteria
Jamak (Multi-objective optimization)
• Juga akan diperlihatkan software untuk optimasi
(Solver, MatLab dan Genetic Algorithms)
12
• Tadi sudah dikatakan bahwa fokus kita
adalah model non-linier
– Fungsi Objective non-Linier
– Salah satu kendala non-linier
• Formulasi Umum :
Maks/Min: f(x)
Dengan kendala g(x) < > 0
h (x) = 0
x ε [ a,b ]
13
• Contoh bentuk fungsi kontinyu dan tanpa kendala, sbb:
14
• Cara yg lazim dipakai untuk mencari solusi
optimum fungsi kontinyu spt Gb.1 & Gb.2
adalah dengan menggunakan kalkulus:
> cari titik stationer
- batas atas & batas bawah selang
- titik maks/min f I (x) = 0
> periksa apakah titik stationer tsb.
merupakan maks/min lokal.
15
> Salah satu caranya adalah dengan
melibatkan turunan keduanya
(Syarat Perlu dan Syarat Cukup)
- Jika f II (x) > 0 Minimum Lokal
- Jika f II (x) < 0 Maksimum Lokal
16
• Bagaimana jika variabelnya lebih dari
satu? (x1,x2) misalnya?
• Maks/Min f (x1,x2)
x1 ε [a,b]
x2 ε [c,d]
• Bentuk dapat digambarkan dalam ruang
tiga dimensi.
(Gambar lihat slide berikutnya)
17
Fungsi dengan Dua Peubah
1) Max f ( x1 , x2 ) 21.5 x1 Sin (4 x1 ) x2 Sin (20 x2 ) Gen & Cheng (1997)
3,0 x1 12,1
4,1 x2 5,8
18
• Untuk menentukan syarat perlu dan syarat
cukup pada fungsi multi-variabel
diperlukan konsep:
– Turunan parsial
– Vektor gradien
– Matriks Hess
• Kondisi cukup untuk minimum lokal:
– Vektor gradien pada titik optimum = 0
– Matriks Hess > 0
• Konsep ini akan dipelajari secara detail
nanti (pada modul-modul mendatang)
19
• Kalau cara kalkulus tidak bisa atau sulit
digunakan pakai cara numerik
• Contoh Metoda Numerik:
– Sequential Search Technique (SST)
– Teknik pencarian beruntun
• Contoh metoda SST:
– Penelusuran Fibonacci
– Penelusuran Nilai Tengah (Golden Mean Search)
• Metoda Lain:
– Metoda Newton-Raphson, Pengali Lagrange, Metoda
Penalty, dll
20
Contoh Fungsi Non-Linier Tanpa Kendala
Z = 1,696.8p - 24.6p2 - 22,000
Figure 10.2
The nonlinear
profit function
21
- The slope of a curve at any point is equal to the derivative of the curve’s function.
- The slope of a curve at its highest point equals zero.
Figure 10.3
Maximum profit
for the
profit function
22
Z = 1,696.8p - 24.6p2 - 22,000
dZ/dp = 1,696.8 - 49.2p
p = $34.49
v = 1,500 - 24.6p
v = 651.6 pairs of denim jeans
Z = $7,259.45
Figure 10.4
Maximum profit, optimal price, and optimal volume
23
Constrained Optimization In Nonlinear Problems
Definition
24
Constrained Optimization In Nonlinear Problems
Graphical Interpretation
- Effect of adding constraints to nonlinear problem:
Figure 10.5
Nonlinear profit
curve for the profit
analysis model
Figure 10.6
A constrained optimization model
Figure 10.7
Constrained optimization
model with a solution
point not on the
constraint boundary
25
CONTOH KENDALA LINIER Wilayah Kajian Linier
minimize f(x)
subject to
x1 + 2x2 40
40x1 + 50 x2 1,600
4x1 + 3x2 120
x1, x2, 0
26
• Mengapa mempelajari teknik optimasi?:
- Banyak persoalan di bidang bisnis dan
agroindustri melibatkan model-model optimasi
- Baik di bidang manajemen maupun prosesing:
* Manajemen:
Pengambilan Keputusan, Penjadwalan,Manajemen
Produksi, Strategi,Pemasaran, Tata-letak,
Keuangan,dll.
* Prosesing:
=>Teknik Kimia, Unit Operasi, Unit Proses.
=> Pengendalian Lingkungan, dll
27
Transformation Process in Agroindustry
28
Keputusan Operasi Strategy Kompetitif Keunggulan
• Kualitas • Fleksibilitas:
Desain
• Produk
Volume • Perbedaan
• Proses • Harga Murah (lebih bagus)
• Lokasi • Delivery
• Layout Kecepatan
• Harga/Biaya
Ketergantungan
• SDM (lebih murah)
• Kualitas :
• Jaringan supplier Kinerja
29
Contoh Aplikasi Bidang
Manajemen
30
What is Inventory?
• Stock of items kept to meet future demand for
– internal customers
– external customers
• Purpose of inventory management
– how many units to order
– when to order
31
Inventory Costs
• Carrying cost
– cost of holding an item in inventory
• Ordering cost
– cost of replenishing inventory
32
Economic Order Quantity (EOQ)
Models
• EOQ
– optimal order quantity that will minimize total
inventory costs
• Basic EOQ model
33
EOQ Cost Model
Co - cost of placing order D - annual demand
Cc - annual per-unit carrying cost Q - order quantity
CoD
Annual ordering cost =
Q
Cc Q
Annual carrying cost =
2
CoD Cc Q
Total cost = +
Q 2
34
EOQ Cost Model
Annual
cost ($) Total Cost
Slope = 0
CcQ
Minimum Carrying Cost =
total cost 2
CoD
Ordering Cost =
Q
35
EOQ Cost Model
36
EOQ Example
Cc = $0.75 per yard Co = $150 D = 10,000 yards
38
The effect of insulation thickness on total cost
Cost
($/year) Total Cost
Slope = 0
39
- Contoh-contoh Lain di bid. Manajemen/
Prosesing??
> Lihat Skripsi, Thesis, Disertasi
> Amati dunia nyata (Bisnis, Agroindustri, etc.)
40
• Dari kedua contoh sebelumnya terlihat
bahwa masalah optimasi non-linier sering
harus dihadapi oleh manajer agroindustri
• Kalau fungsinya mudah bisa digunakan
teknik derivatif atau gradien yang relatif
mudah
• Kalau fungsinya kompleks atau sulit?
– Perlu teknik-teknik lain yang akan dipelajari
dalam mata ajaran ini
41
Contoh fungsi sulit dan kompleks
42
Fungsi “Noisy” Peubah Tunggal
. Max
F (x)
i1 i2 i3 … in x
i = initial population
43
Fungsi Kompleks Peubah Jamak
3.0 x1 12.1
4.1 x2 5.8
( x 1) 2 y2
x 2 ( y 1) 2 x 3 4 x 2 y2 e
2) f (x, y) 3 (1 - x) 2 e 10 x y e
2 3
- 3 x, y 3 Ref. : Chong dan Zak (1996)
25
1
3) f ( xi ) 0.002 2
j 1
j ( xi aij ) 6
i 1
44
Fungsi Kompleks Dua Peubah
x1* = 11.631407
x2* = 5.724824
f (x1*,x2*) = 38.818208
45
Hasil Eksperimen…
(PopSize=20; MaxGen=1000; Pc=0.88; Pm=0.20)
31
29 x1* = 11.66395
Fitness rata-rata x2* = 5.724876
27
f (x1*,x2*) = 38.89309
25 Fitness * = 38,849309
23 at gen. 500th
21
0 50 100 150 200 250 300 350 400 450 500 550
Generasi
46
Fungsi Kompleks Dua Peubah
2 y2
x 2 ( y 1) 2 x 4 x 2 y2 e ( x 1)
2) f (x, y) 3 (1 - x) 2 e 10 x y e
3
2 3
- 3 x, y 3
y x
47
Hasil Eksperimen… Chong & Zak (1996)
(PopSize=20; MaxGen=1000; Pc=0.88; Pm=0.10) x* = - 0.004944
y* = 1.645203
f (x*,y*) = 8.042244
10 Fitness maksimum
9
Fitness rata-rata Using MATLAB :
8
x* = - 0.0303
7 y* = 1.5455
f (x*,y*) = 8.0926
Fitness
4
x* = - 0.362142
3 Fitness * = 9,276291 y* = 1.263218 (!)
2 At gen. 81th f (x*, y*) = 9.276291
1
0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150
Generasi
48
• Sekali lagi perlu ditegaskan bahwa teknik yang selama ini
sudah dipelajari:
- Linier Programming
- Hanya untuk Fungsi Linier saja
• Dalam mata ajaran ini akan dipelajari teknik-teknik yang lebih
lanjut,
– Namun tidak melupakan bahwa m.a TPOP ini untuk mahasiswa S1
– Metoda yang akan diajarkan sudah dipilih agar sesuai dengan
kemampuan mahasiswa S1
– Metoda-metoda lain diajarkan di tingkat pasca sarjana (S2/S3)
• Skill penunjang yang diperlukan untuk mempelajari Teknik
Optimasi:
- Computer Programming Penerapan Komputer
- Matematika dan Kalkulus
49
• Metoda “conventional-search” untuk fungsi non-
linier masih ada kekurangannya:
– Perlu informasi tentang bentuk fungsi, arah
pencarian, gradien, jarak interval, dsb.
• Metoda baru tidak perlu informasi seperti ini
– Bersifat heuristik atau meta-heuristik
– Contoh Genetic Algorithms
– Bisa untuk berbagai keperluan dengan kendala,
multi-tujuan, dll
– Akan dibahas sekilas di bagian akhir kuliah
– Pendalaman dapat dilakukan di tingkat 4 ataupun di
S2/S3
---yandra arkeman---
50
Teknik Permodelan dan Optimasi
Proses
Responsi
Deasy Kartika Rahayu Kuncoro
Genap 2022/2023
KONSEP DASAR OPTIMASI
• OPTIMASI → Upaya Mencari nilai maksimum
dan/atau minimum dari
suatu fungsi
• Bentuk-bentuk fungsi:
- Linier √
- Tak Linier
- Diskrit
- Kontinyu
Contoh-contoh Fungsi
Fungsi linier
Contoh-contoh Fungsi
TUJUAN Maksimimisasi : Z = 3X1 + 5X2
Dengan kendala : 2X1 ≤ 8
3X2 ≤ 15
6X1 + 5X2 ≤ 30
X2 X1 , X 2 ≥ 0
2X1 = 8
D C 3X2 = 15
B = (4, 6/5)
C = (5/6, 5)
0 A
Z X1
Z
6X1 + 5X2 = 30
Contoh-contoh Fungsi
200
180
160
140
120
100
80
60
40
20
0
-4 -3 -2 -1 0 1 2 3 4
Contoh-contoh Fungsi
Contoh Kasus Optimasi Non-Linier Programming:
Contoh-contoh Fungsi
Max f ( x1 , x2 ) = 21.5 + x1 Sin (4 x1 ) + x2 Sin (20 x2 )
− 3,0 x1 12,1
4,1 x2 5,8
Fungsi multimodal
Non-Linier Programming
Plot turunan pertama dari fungsi cekung & cembung dgn 1 variabel
1 -7
2 -4 0
-6 -4 -2 0 2 4 6
3 1
4 8 -5
5 17
-10
Contoh Soal
-3 -6 10
-2 -4 5
-1 -2 0 f'(x)
0 0 -6 -4 -2 0 2 4 6
-5
1 2
-10
2 4
-15
3 6
4 8
5 10
Contoh Soal
2 2 0
-6 -4 -2 0 2 4 6
3 2
4 2
5 2
Fungsi Concave & Convex
Konsep kecembungan dan kecekungan juga dpt diterapkan pada
fungsi multivariabel. Untuk setiap fungsi objektif, Hessian
Matriks Hess H(x) harus dievaluasi untuk menentukan sifat f(x).
TEKNIK OPTIMASI
Kuliah ke 2 15 Februari 2021
Chapter 4: Basic Concept of Optimization
• Continuity of Functions
• Unimodal vs. Multimodal Functions
• Convex and Concave Functions
• Other Related Topics
• (Soal Latihan untuk Responsi)
4.1 Continuity of Functions
In combinatorial
optimization decision
variable is discrete and
has string value
5
7-8
6-7
5-6
f(x,y)
4 4-5
3-4
2-3
3 1-2
0-1
s5
1
s4
s3
0 Value Y
1 s2
2
3
Value X 4 s1
5
Gambar 3 Dimensi
f(x,y)=x2+y2
s5
s4
s3Value Y 6-8
4-6
2-4
0-2
s2
f(x,y) s1
1 2 3 4 5
Value X
F(x,y)
y x
FIGURE 8.3.3
Contours of the functions (8.3.6) and (8.3.7). (a) (2x - y)' + (y + 1)'; (b) 1(X)( y - x2)2 + (I - x)
FIGURE 8.3.3 (Continued)
4.3. CONVEX AND CONCAVE FUNCTIONS
• Penentuan kecembungan dan kecekungan fungsi akan
membantu untuk memastikan apakah optimum lokal juga
merupakan optimum global
• Bentuk fungsi konveks dan konkaf dapat dilihat di slide
berikut:
Persamaan fungsi konkaf dan konveks
f f f
f
x1 x2 xn
Click to edit
The Master
Hessiantitle style
• The Hessian (2) of f(x1, x2, …, xn) is:
f 2 f 2
f
2
x12
2
x1x2 x1xn
f f 2
f 2
2 f x x x2
2
x2 xn
2 1
2
f f f
2 2
x x 2
n 1 xn x2 xn
• Page 128-129
• Example 4.4
• Example 4.5
• Example 4.6
• Example 4.7
Test dengan Eigenvalue
• Bagaimana menentukan nilai eigenvalue untuk matrix
3x3?
• Lihat referensi !
4.4 Convex Region
• Sering ditemukan dalam optimasi dengan kendala non-
linier
• Lihat slide berikut ini
Possible Optimal Solutions to NLPs
(not occurring at corner points)
objective function objective function
level curve level curve
Feasible Feasible
Region Region
objective function
level curve objective function
level curves
optimal solution
optimal solution
Feasible
Region
Feasible
Region
nonlinear objective, nonlinear objective,
nonlinear constraints linear constraints
--- 15 Feb 2021 ---
Optmasi Multi-variabel dgn kendala
persamaan
Teknik Pemodelan dan Optimasi Proses
Responsi 2
Deasy Kartika Rahayu Kuncoro
Genap 2022/2023
KONSEP DASAR OPTIMASI
• Optimasi : - Tanpa Kendala
- Dengan Kendala
- Single Objective
- Multi Objective
• Teknik Optimasi : - Kalkulus (Analitik)
- Numerik
- Heuristik
• Heuristik : Metoda pencarian titik optimum atau yang
mendekati optimum dengan aturan (rules) tertentu →
untuk fungsi yang kompleks
• Aturan dalam metoda heuristik lebih rumit daripada
metoda numerik biasa
Non-Linear Programming
Beberapa Metode Optimasi terhadap sebuah fungsi nonlinier diantaranya:
Fungsi multimodal
Non-Linier Programming
Plot turunan pertama dari fungsi cekung & cembung dgn 1 variabel
Turunan 1 Fungsi/
Vektor gradien
JAWABAN:
JAWABAN:
JAWABAN:
JAWABAN:
JAWABAN:
JAWABAN:
JAWABAN:
JAWABAN:
JAWABAN:
JAWABAN:
JAWABAN:
JAWABAN:
Pencarian titik Optimum secara analitik
(menggunakan turunan fungsi /kalkulus)
CONTOH SOAL 2
JAWABAN:
Pencarian titik Optimum secara analitik
(menggunakan turunan fungsi /kalkulus)
CONTOH SOAL 2
JAWABAN:
Pencarian titik Optimum secara analitik
(menggunakan turunan fungsi /kalkulus)
CONTOH SOAL 2
JAWABAN:
Pencarian titik Optimum secara analitik
(menggunakan turunan fungsi /kalkulus)
CONTOH SOAL 2
JAWABAN:
Pencarian titik Optimum secara analitik
(menggunakan turunan fungsi /kalkulus)
CONTOH SOAL 2
JAWABAN:
Pencarian titik Optimum secara analitik
Maksimum atau Minimum?
Pencarian titik Optimum secara analitik
Maksimum atau minimum ?
Tabel hubungan antara sifat fungsi 𝑓(𝑥) dengan H(𝑥):
Pencarian titik Optimum secara analitik
Maksimum atau minimum ?
Tabel hubungan antara sifat fungsi 𝑓(𝑥) dengan H(𝑥):
Bila terdapat hasil test matriks Hess suatu fungsi tidak tergolong aturan di atas, maka besar
kemungkinan pada titik 𝑥 ∗ tertentu pada fungsi tersebut adalah titik pelana/titik balik/saddle point.
Jika sebuah fungsi memiliki titik stasioner dengan matriks Hess-nya memiliki nilai eigen dengan
tanda berbeda-beda, maka fungsi tersebut tidaklah cembung (convex) dan tidak juga cekung
(concave).
Pencarian titik Optimum secara analitik
Maksimum atau minimum ?
Tabel hubungan antara sifat fungsi 𝑓(𝑥) dengan H(𝑥):
Misalkan sebuah fungsi dengan dua variabel memiliki elemen diagonal matriks Hess positif, namun setelah
dianalisa determinan principal minor-nya menghasilkan :
Det M1 positif
Der M2 negatif
Maka fungsi tersebut memiliki titik stasioner berupa titik pelana/titik balik/saddle point (perhatikan contoh-
contoh soal yang diuraikan selanjutnya).
Pencarian titik Optimum secara analitik
Maksimum atau minimum ?
Tabel hubungan antara sifat fungsi 𝑓(𝑥) dengan H(𝑥):
Misalkan sebuah fungsi dengan dua variabel memiliki elemen diagonal matriks Hess positif, namun setelah
dianalisa determinan principal minor-nya menghasilkan :
Det M1 positif
Der M2 negatif
Maka fungsi tersebut memiliki titik stasioner berupa titik pelana/titik balik/saddle point (perhatikan contoh-
contoh soal yang diuraikan selanjutnya).
Pencarian titik Optimum secara analitik
Maksimum atau minimum ?
Pencarian titik Optimum secara analitik
Contoh Soal 3
Pencarian titik Optimum secara analitik
Contoh Soal 3
Pencarian titik Optimum secara analitik
Contoh Soal 3
Pencarian titik Optimum secara analitik
Contoh Soal 3
Pencarian titik Optimum secara analitik
Contoh Soal 3
Pencarian titik Optimum secara analitik
Contoh Soal 3
Pencarian titik Optimum secara analitik
Contoh Soal 3
Pencarian titik Optimum secara analitik
Contoh Soal 3
Pencarian titik Optimum secara analitik
Contoh Soal 3
Pencarian titik Optimum secara analitik
Contoh Soal 3
Pencarian titik Optimum secara analitik
Contoh Soal 3
Pencarian titik Optimum secara analitik
Contoh Soal 3
Pencarian titik Optimum secara analitik
Contoh Soal 3
Pencarian titik Optimum secara analitik
Contoh Soal 3
Pencarian titik Optimum secara analitik
Contoh Soal 4
Pencarian titik Optimum secara analitik
Contoh Soal 4
Pencarian titik Optimum secara analitik
Contoh Soal 4
Pencarian titik Optimum secara analitik
Contoh Soal 4
Determinan
Principal
Minor
Pencarian titik Optimum secara analitik
Contoh Soal 4
Test
Eigenvalue
Pencarian titik Optimum secara analitik
Contoh Soal 4
Pencarian titik Optimum secara analitik
Latihan Soal
5
OPTIMIZATION OF UNCONSTRAINED
FUNCTIONS: ONE-DIMENSIONAL SEARCH
Teknik Optimasi
1. Indirect Method
Mencari titik optimum menggunakan syarat perlu dan
analisa turunan
(sdh dijelaskan minggu lalu)
2. Direct Method
(Optimasi Numerik)
metode pencarian titik ekstremum fungsi dengan
menguji coba serangkaian titik pada fungsi
dapat dilakukan dengan bantuan komputer
Teknik Optimasi
f(xk+1) - f(xk) ε
direct method, stop when:
f(xk+1) - f(xk) ε
Penentuan titik awal X0, prosedur
penggolongan (bracketing)
Semakin dekat titik awal (X0) terpilih dari titik
optimum, maka semakin cepat proses
pencarian optimasinya (Edgar & Himmelblau
2001).
1. Newton’s Method
2. Finite Difference Approximation of
Newton’s Method (FDAD) / Quasi
Newton Method
3. Secant Method
yang diinginkan .
- Sdh tidak ada beda antara nilai
fungsi iterasi satu dengan nilai
k+n fungsi pada iterasi berikutnya
f(xk+1) - f(xk) ε
Minimumkan fungsi
gunakan metode newton dengan titik awal
pencarian x0 = 3 . Lakukan setidaknya 3 kali
iterasi untuk memastikan optimum tercapai.
2. FDAD/QUASI NEWTON METHOD
Digunakan dalam kasus turunan fungsi tidak diketahui
atau bila f(x) sulit diturunkan
~
x* = xq – f’ (xq)
[f’(xq) – f’(xp)] / (xq-xp)
CONTOH SOAL
Minimisasi fungsi f(x) = x2 – x
Menggunakan metode
1.Indirect (analisa turunan)
2.Newton (x0=3)
3.Quasi Newton (misal h=10-3,
h=10-6)
4. Secant
(misal xp = -3 dan xq = 3)
CONTOH SOAL
Minimisasi fungsi f(x) = x4 – x + 1
Menggunakan metode
1.Newton (x0=3)
2.Quasi Newton (misal h=0.1)
3.Secant
(misal xp = -3 dan xq = 3)
Problem no.5.10 buku optimization of chemical
processes:
The total annual cost of operating a pump and
motor ( C) in a particular piece of equipment
is a function of x, the size (horsepower) of the
motor, namely
C = $500 + $0.9x + $0.03 (150,000)
x
Find the motor size that minimizes the total
annual cost.
Unconstrained Multi-variable
Optimization
Find X* = [x1, x2, … xn]T
That minimizes f(x1, x2, … xn) f(x)
Suppose the function f (x) is a function that has a second
partial derivative at x*, if x* is the local minimum point, then
first-order condition
and
definit / semidefinit positive (second order condition),
where point x* so that ∇f (x*) = 0 is called a critical
point or an extreme point or stationary point of
function f.
The critical point of the function f (x) which is not the maximum
point and not the minimum point is called the saddle point /
saddle point of the function f (x).
The necessary conditions and the sufficient
condition to guarantee that x* is an extremum
2
Critical value of is
-
-
4
-2
= (-2, 4, 1)
-2
Hessian matrix H (x) =
f (x) = maximum
Determine if any extrema exist.
solution
x* = (0,0,0)T
s0
0
s0
s0)
s0
s1
x1 + s1
f(x1 + s1)
x2 = x1 + s1
Dengan menggunakan steepest descent, tentukan
minimum dari fungsi
F(x) = f(x1,x2)= x1-x2+2x12+2x1x2+x22
l l f(xk+1)l – l f(xk)l l
Tahapan Newton method
Tentukan x0
Cari vektor gradient f(xk)
Cek f(xk)
Jika f(xk)=0 maka sudah optimum
Jika f(xk)= 0 maka cari H(xk) dengan iterasi cara 1
(invers) atau cara 2 (bukan invers)
; xk+1 = xk + xk
• Cek kembali f(xk)
• Cek iterasi
l l f(xk+1)l – l f(xk)l l atau l l (xk+1) – (xk) l l
atau ll f(xk)l l
OPTIMIZATION OF FUNCTION
WITH CONSTRAINTS
Direct elimination method
Optimize f (x, y) = x2 + y2
Subject to y + 3x = 3
Solution:
f (x,y) = x2 + y2
= x2 + (3 – 3x)2
= x2 + 9 -18x + 9x2
= 10x2 – 18x + 9 (new objective function)
f(x,y) = 20x – 18 = 0
20x = 18
x = 9/10 = 0.9
y = 3 – 3x
y = 3 – 3 (0.9)
y = 0.3
f’’(x,y) = 20 > 0
g(x)
Solve the problem
Minimize f (x, y) = x2 + y2
Subject to y + 3x = 3
By the Lagrange multiplier method.
Solution.
The Lagrange function is
L(x,y,) = x2 + y2 + (y+ 3x – 3)
Subject to
Answer:
Eq.1
Eq.2
Eq.3
Eq.2
Eq.1
From Eq.3
With f (x) = 0.9
Exercises
2. Optimize
Subject to
Optimize Z (x,y) = 6-4x-3y
Subject to x2+y2 = 1
Optimize f(x1,x2) = 4x12 + 5x22
Subject to 2x1 + 3x2 = 6
Subject to
The necessary condition for a stationary point are
Function with inequality constraint
Minimize
Subject to
x12 + x22 -1 ≤ 0
x1 2 + x 2 2 – 1 + u 2 = 0
Solution
Solve the problem
Minimize f(x) = x1x2
Subject to
The lagrange function is:
L (x1, x2, , )
The necessary conditions for a stationary point are:
-
Metode Karush Kuhn-tucker untuk
Inequality Constraint
• If we have objective function f(x,y) and constraint
g(x,y) < 0 then we have equation
L (x,y,) = f(x,y) - .g(x,y)
-80/25
Solve the problem using Kuhn Tucker method
Minimize f(x) = x1x2
Subject to
Metode kuhn tucker
Minimumkan f(x,y) = x2 – xy + 2y2
Dengan kendala x + y 8
Minimumkan f(x) = x12 + x22 – 4x1 – 4x2 + 8
Dengan kendala : x1 + 2x2 – 4 0
Dengan menggunakan metode Lagrange,
tentukan nilai optimum dari
f(x,y,z) = x2 +2y – z2
Dengan kendala
g (x) : 2x – y = 0
h (x) : y + z = 0
Optimasi ukuran kotak tanpa tutup
Tangent of f
(x) at xk
x
f (x) x* xk+1 xk
Dichotomous
1 2 3 5 8
Fibonacci: xU Golden-Section Search
1 1 2 3 5 8… xL xL xU divides intervals by
Ik+5 Ik+4 Ik+3 Ik+2 Ik+1 Ik K = 1.6180
Multiple Points or Population Based Seacrh
I1,1 = 100110110001110
I1.2 = 100110001110101
I1.n = 110110110001110
x
i1,1 I1,2 I1,n
a chromosome
Describe Problem
Generate Solutions
Yes
Step 1 Is it good enough? Stop
NO
Step 2
Select best parents to reproduce
Step 3
Step 4 Create a set of offspring
Step 5
A simple example :
Fitness value
Chrom. No. Chrom. Structure x value
f(x) = x2
1. 01101 13 169
2. 11000 24 576
3. 01000 8 64
4. 10011 19 361
Total 1170
Average 293
Max 576
For the above case, suppose that the parents selected are :
Chrom. 1 X Chrom. 2
Chrom. 2 X Chrom. 4
P1 : 0 1 1 0 1 13
P2 : 1 1 0 0 0 24
fitness value
C1 : 0 1 1 0 0 12
C2 : 1 1 0 0 1 25
P1 : 1 1 0 0 0 24
candidate for
P2 : 1 0 0 1 1 19
optimum solution
C1 : 1 1 0 1 1 27
C2 : 1 0 0 0 0
16
Fitness value of
Chrom. No Chrom. Structure x value
f (x) = x2
1. 01100 12 144
2. 11001 25 625
3. 11011 27 729
4. 10001 16 256
Total 1754
Average 439
Max 729
P1 : 1 1 0 1 1 27
P2 : 0 1 1 0 0 12
C1 : 1 1 1 0 0 28
C2 : 0 1 0 1 1
11
mutation
*
C2’ 1 1 0 1 1 27
Fitness value of
Chrom. No Chrom. Structure x value
f (x) = x2
1. 11100 28 784
2. 11011 27 729
3. 11011 25 625
4. 10001 16 256
Total 2394
Average 598.5
Max 784
Fitness value of
Chrom. No Chrom. Structure x value
f (x) = x2
1. 11111 31 961
2. 11111 31 961
3. 11111 31 961
4. 11111 31 961
Total 3844
Average 961
Max 961
optimum solution
Fitness
784
729
576
0 1 2 … Gmax Generation
4500
4000
3500
3000
Fitness Value
2500
MaxFitness
MinFitness
AvgFitness
2000
1500
1000
500
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Generation
f(x)
Decision variable x
is continuous and has
real value
0.1 0.9 x
Cost
In combinatorial
optimization decision
variable is discrete and
has string value
x1* = 11.631407
x2* = 5.724824
f (x1*,x2*) = 38.818208
m m1 m2 18 15 33
33 bit
vj 000001010100101001 101111011111110
18 bit 15 bit
12,1 (3,0)
Kromosom Nilai desimal x1 3.0 5417 2,687969
2 1
18
x1 000001010100101001 5417
101111011111110 5,8 4,1
x2 24318 x2 4,1 24318 5,361653
2 1
15
31
29 x1* = 11.66395
Fitness rata-rata x2* = 5.724876
27
f (x1*,x2*) = 38.849309
25 Fitness * = 38,849309
23 at gen. 500th
21
0 50 100 150 200 250 300 350 400 450 500 550
Generasi
y x
9
Fitness rata-rata Using MATLAB :
8
x* = - 0.0303
7 y* = 1.5455
f (x*,y*) = 8.0926
Fitness
4
x* = - 0.362142
3 Fitness * = 9,276291 y* = - 1.263218
2 At gen. 81th f (x*, y*) = 9.276291
1
0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150
Generasi
C B G A F D I H E G B
A D
E H B D C I A F G
F C
D I
F G B D C I A H E
E H G A F D I C B
The mutation technique used is
“inverse methods”, as describe below :
* *
C B G A F D I H E
C I G A F D B H E
Mesin \ Job A B C D
M1 10 14 4 20
M2 6 8 16 12
0,020
0,019
0,018
0,017
Fitness
0,016
0,015
0,013
0 10 20 30 40 50 60 70 80 90 100
Generasi
56,5
56
55,5
55
Makespan
54,5
54
53,5
53 Makespan * = 54
52,5
0 10 20 30 40 50 60 70 80 90 100
Generasi
Mesin \ Job A B C D E F G H
M1 48 26 44 2 30 40 14 66
M2 70 56 6 74 62 96 52 78
M3 18 104 22 36 100 10 82 34
0,0022
0,0020
0,0018
Fitness
0,0016
0,0014
Fitness * = 0,001976
0,0012
0,0010
0 10 20 30 40 50 60 70 80 90 100 110
Generasi
550
540
530
Makespan
520
510
500
Makespan * = 506
490
480
0 10 20 30 40 50 60 70 80 90 100 110
Generasi
It can be seen that the GA search for optimum solution is very efficient
Populasi Seleksi
Evaluasi
awal
Crossover
Representasi
Mutasi
NO
Evaluasi Stop?
Start
YES
End
E (5%)
110000101
Kapan kita
berhenti ber-
iterasi?
Ini jawabannya!
Misal:
Domain dari variabel xj adalah [aj,bj] dan presisi yang diperlukan adalah
4 angka dibelakang koma. Kebutuhan akan presisi berimplikasi terhadap
jangkauan domain masing-masing variabel yang harus dibagi sedikitnya
sebesar (bj-aj) x 104 jangkauan.
m = m1 + m2 = 18 + 15 = 33
Panjang
kromosom m = m1 + m2 = 18 + 15 = 33
adalah
m1+m2 bit
Responsi Mata Kuliah Teknik Optimasi-Dept TIN, IPB
Contoh Soal GA- Representasi
. Panjang sebuah kromosom diketahui 33 bit, yang direpresentasikan:
33 bit
vj 000001010100101001 101111011111110
18 bit 15 bit
12,1 − (−3,0)
x1 = − 3.0 + 5417 = − 2,687969
218 − 1
5,8 − 4,1
x2 = 4,1 + 24318 = 5,361653
215 − 1
Responsi Mata Kuliah Teknik Optimasi-Dept TIN, IPB
Contoh Soal GA- Representasi
. Panjang sebuah kromosom diketahui 33 bit, yang direpresentasikan:
33 bit
vj 000001010100101001 101111011111110
18 bit 15 bit
12,1 − (−3,0)
x1 = − 3.0 + 5417 = − 2,687969
218 − 1
5,8 − 4,1
x2 = 4,1 + 24318 = 5,361653
215 − 1
Responsi Mata Kuliah Teknik Optimasi-Dept TIN, IPB
Contoh Soal GA
👉
v8 = 101001000000111001101101100001110 F 8 = 29.139782
v9 = 100010100000110100001011111010110 F 9 = 30.011271
v10 = 000101110111110011100001000110010 F10 = 18.146471
v11 = 010001100111101000001101011000010 F11 = 21.697422
v12 = 101101011111010010001010010110110 F12 = 19.216400
v13 = 011000001001101000011100000011110 F13 = 25.274593
v14 = 001110011100010101010111101100100 F14 = 25.816740
v15 = 100001001000101101110110101100001 F15 = 17.991199
v16 = 111011101000100111110000001110000 F16 = 24.240589
v17 = 111011101000110110100111101101001 F17 = 28.927788
v18 = 100100110000111110111101001100010 F18 = 31.892937
v19 = 011110111001001100111000110011011 F19 = 21.659521
v20 = 000100101100010101010000010000111 F20 = 23.983770 Total Fitness = 484.0782
👉
v8 = 101001000000111001101101100001110 F 8 = 29.139782 p 8 = 0.060196 q 8 = 0.403281
v9 = 100010100000110100001011111010110
v10 = 000101110111110011100001000110010
v11 = 010001100111101000001101011000010
F 9 = 30.011271
F10 = 18.146471
F11 = 21.697422
p 9 = 0.061997
p10 = 0.037487
p11 = 0.044822
👉
q 9 = 0.465278
q10 = 0.502764
q11 = 0.547586
v12 = 101101011111010010001010010110110 F12 = 19.216400 p12 = 0.039697 q12 = 0.587283
v13 = 011000001001101000011100000011110 F13 = 25.274593 p13 = 0.052212 q13 = 0.639495
v14 = 001110011100010101010111101100100 F14 = 25.816740 p14 = 0.053332 q14 = 0.692827
v15 = 100001001000101101110110101100001 F15 = 17.991199 p15 = 0.037166 q15 = 0.729993
v16 = 111011101000100111110000001110000 F16 = 24.240589 p16 = 0.050076 q16 = 0.780068
v17 = 111011101000110110100111101101001 F17 = 28.927788 p17 = 0.059759 q17 = 0.839827
v18 = 100100110000111110111101001100010 F18 = 31.892937 p18 = 0.065884 q18 = 0.905711
v19 = 011110111001001100111000110011011 F19 = 21.659521 Total Fitness p19 = 0.044744 q19 = 0.950455
v20 = 000100101100010101010000010000111 F20 = 23.983770 484.0782 p20 = 0.049545 q20 = 1.000000
👉
v8 = 101001000000111001101101100001110 F 8 = 29.139782 p 8 = 0.060196 q 8 = 0.403281
v9 = 100010100000110100001011111010110
v10 = 000101110111110011100001000110010
v11 = 010001100111101000001101011000010
F 9 = 30.011271
F10 = 18.146471
F11 = 21.697422
p 9 = 0.061997
p10 = 0.037487
p11 = 0.044822
👉
q 9 = 0.465278
q10 = 0.502764
q11 = 0.547586
v12 = 101101011111010010001010010110110 F12 = 19.216400 p12 = 0.039697 q12 = 0.587283
v13 = 011000001001101000011100000011110 F13 = 25.274593 p13 = 0.052212 q13 = 0.639495
v14 = 001110011100010101010111101100100 F14 = 25.816740 p14 = 0.053332 q14 = 0.692827
v15 = 100001001000101101110110101100001 F15 = 17.991199 p15 = 0.037166 q15 = 0.729993
v16 = 111011101000100111110000001110000 F16 = 24.240589 p16 = 0.050076 q16 = 0.780068
v17 = 111011101000110110100111101101001 F17 = 28.927788 p17 = 0.059759 q17 = 0.839827
v18 = 100100110000111110111101001100010 F18 = 31.892937 p18 = 0.065884 q18 = 0.905711
v19 = 011110111001001100111000110011011 F19 = 21.659521 Total Fitness p19 = 0.044744 q19 = 0.950455
v20 = 000100101100010101010000010000111 F20 = 23.983770 484.0782 p20 = 0.049545 q20 = 1.000000
👉
Nilai random 7 z = 0.580488
Nilai random 8 z = 0.585261
Nilai random 9 z = 0.707035
Nilai random 10 z = 0.654927
Nilai random 11 z = 0.607109
Nilai random 12 z = 0.710492
Nilai random 13 z = 0.218055
Nilai random 14 z = 0.539730
Nilai random 15 z = 0.479116
Nilai random 16 z = 0.535222
Nilai random 17 z = 0.201610
Nilai random 18 z = 0.395832
Nilai random 19 z = 0.330506
Nilai random 20 z = 0.941961
Responsi Mata Kuliah Teknik Optimasi-Dept TIN, IPB
.
Contoh Soal GA- Seleksi
Misal, diperoleh nilai random
. untuk masing-masing kromosom
sebagai berikut
👉
Nilai random 6 z = 0.280589 (=V6 )
Nilai random 7 z = 0.580488 ( = V12 )
Nilai random 8 z = 0.585261 ( = V12 )
Nilai random 9 z = 0.707035 ( = V15 )
Nilai random 10 z = 0.654927 ( = V14 )
Nilai random 11 z = 0.607109 ( = V13 )
Nilai random 12 z = 0.710492 ( = V15 )
Nilai random 13 z = 0.218055 (=V5 )
Sehingga kromosom yang Nilai random 14 z = 0.539730 ( = V11 )
pada populasi awal memiliki Nilai random 15 z = 0.479116 ( = V10 )
nilai fitness tinggi memiliki Nilai random 16 z = 0.535222 ( = V11 )
kesempatan yang lebih besar Nilai random 17 z = 0.201610 (=V5 )
untuk terpilih pada proses Nilai random 18 z = 0.395832 (=V8 )
Seleksi Nilai random 19 z = 0.330506 (=V7 )
Responsi Mata
NilaiKuliah
randomTeknik
20 z =Optimasi-Dept
0.941961 TIN, IPB ( = V19 )
.
Contoh Soal GA- Seleksi
Nilai random KROMOSOM baru HASIL SELEKSI
Populasi awal . untuk masing-masing kromosom
v1' 0.858802623
v2' 0.412171133
v3' 0.672787355
v4' 0.020331487 << 0.25
v5' 0.548686904
v6' 0.179205992 << 0.25
v7' 0.297660174
v8' 0.20032016 << 0.25
v9' 0.035695266 << 0.25
v10' 0.49366949
v11' 0.239312227<< 0.25
v12' 0.924817959
v13' 0.986913538
v14' 0.419912587
v15' 0.751785988
v16' 0.51875157
v17' 0.647958564
v18' 0.142527841<< 0.25
v19' 0.776107015
v20' 0.769712165
Responsi Mata Kuliah Teknik Optimasi-Dept TIN, IPB
.
Contoh Soal GA- Crossover
Misal, diperoleh bilangan random
untuk masing-masing kromosom:
v1' 0.858802623
v2' 0.412171133
v3' 0.672787355
v4' 0.020331487 << 0.25
v5' 0.548686904
v6' 0.179205992 << 0.25
v7' 0.297660174 Terdapat 6
v8' 0.20032016 << 0.25 kromosom
v9' 0.035695266 << 0.25 dengan nilai
v10' 0.49366949 random
v11' 0.239312227<< 0.25 dibawah pm =
v12' 0.924817959 0.25, sehingga 6
v13' 0.986913538 kromosom
v14' 0.419912587 tersebut dipilih
v15' 0.751785988 utk mengalami
v16' 0.51875157 crossover
v17' 0.647958564
v18' 0.142527841<< 0.25
v19' 0.776107015
v20' 0.769712165
Responsi Mata Kuliah Teknik Optimasi-Dept TIN, IPB
.
Contoh Soal GA- Crossover
Misal, diperoleh bilangan random pc ( probability crossover ) = 0.25 dengan 20 buah bilangan
untuk masing-masing kromosom: random z < 0.25 terpilih kromosome dibawah ini.
V 4'' = 000011110101010110000100011101111
V 6'' = 000000110111001011100000001111001
V 8'' = 101101011111011101110110101100001
V 9'' = 100001001000100010001010010110110
V11'' = 011000001001101000011101100001110
👉 V 8''= 101101011111011101110110101100001
V 9''= 100001001000100010001010010110110
V10' = 001110011100010101010111101100100
V11''= 011000001001101000011101100001110
V12' = 100001001000101101110110101100001
V13' = 000111010000001010001101000010000
V14' = 010001100111101000001101011000010
V18'' = 101001000000111001101100000011110 V15' = 000101110111110011100001000110010
V16' = 010001100111101000001101011000010
V17' = 000111010000001010001101000010000
V18''= 101001000000111001101100000011110
V19' = 100010011101010110000101010011110
Responsi Mata Kuliah V20'
Teknik = 011110111001001100111000110011011
Optimasi-Dept TIN, IPB
.
Contoh Soal GA- Crossover
Populasi setelah mengalami perubahan pada 6
buah kromosom
V 1' = 111011101000100111110000001110000
V 2' = 010001100111101000001101011000010
V 3' = 101101011111010010001010010110110
V 4''= 000011110101010110000100011101111
V 5' = 111011101000110110100111101101001
V 6''= 000000110111001011100000001111001
V 7' = 101101011111010010001010010110110
V 8''= 101101011111011101110110101100001
V 9''= 100001001000100010001010010110110
V10' = 001110011100010101010111101100100
V11''= 011000001001101000011101100001110
V12' = 100001001000101101110110101100001
V13' = 000111010000001010001101000010000
V14' = 010001100111101000001101011000010
V15' = 000101110111110011100001000110010
V16' = 010001100111101000001101011000010
V17' = 000111010000001010001101000010000
V18''= 101001000000111001101100000011110
V19' = 100010011101010110000101010011110
Responsi Mata Kuliah V20'
Teknik = 011110111001001100111000110011011
Optimasi-Dept TIN, IPB
Contoh Soal GA
👉
V12' = 100001001000101101110110101100001
z = 0.0027149 kromosom ke = 2 posisi bit ke = 12
V13' = 000111010000001010001101000010000
V14' = 010001100111101000001101011000010 z = 0.0078123 kromosom ke = 6 posisi bit ke = 24
V15' = 000101110111110011100001000110010 z = 0.0039235 kromosom ke = 13 posisi bit ke = 20
V16' = 010001100111101000001101011000010 z = 0.0033136 kromosom ke = 14 posisi bit ke = 27
V17' = 000111010000001010001101000010000
V18''= 101001000000111001101100000011110
V19' = 100010011101010110000101010011110
V20' = 011110111001001100111000110011011
Responsi Mata Kuliah Teknik Optimasi-Dept TIN, IPB
.
Contoh Soal GA- Mutasi
Sehingga...
Populasi setelah mengalami crossover
V 1' = 111011101000100111110000001110000 V 1 = 111011101000100111110000001110000
V 2' = 010001100111101000001101011000010 V 2 = 010001100110101000001101011000010
V 3' = 101101011111010010001010010110110 V 3 = 101101011111010010001010010110110
V 4''= 000011110101010110000100011101111 V 4 = 000011110101010110000100011101111
V 5' = 111011101000110110100111101101001 V 5 = 111011101000110110100111101101001
V 6''= 000000110111001011100000001111001 V 6 = 000000110111001011100000001111001
V 7' = 101101011111010010001010010110110 V 7 = 101101011111010010001010010110110
V 8''= 101101011111011101110110101100001 V 8 = 101101011111011101110110101100001
V 9''= 100001001000100010001010010110110 V 9 = 100001001000100010001010010110110
V10' = 001110011100010101010111101100100 V10 = 001110011100010101010111101100100
V11''= 011000001001101000011101100001110 V11 = 011000001001101000011101100001110
V12 = 100001001000101101110110101100001
👉
V12' = 100001001000101101110110101100001
V13' = 000111010000001010001101000010000 V13 = 000111010000001010001101000010000
V14' = 010001100111101000001101011000010 V14 = 010001100111101000001101010000010
V15' = 000101110111110011100001000110010 V15 = 000101110111110011100001000110010
V16' = 010001100111101000001101011000010 V16 = 010001100111101000001101011000010
V17' = 000111010000001010001101000010000 V17 = 000111010000001010001101000010000
V18''= 101001000000111001101100000011110 V18 = 101001000000111001101100000011110
V19' = 100010011101010110000101010011110 V19 = 100010011101010110000101010011110
V20' = 011110111001001100111000110011011 V20 = 011110111001001100111000110011011
Responsi Mata Kuliah Teknik Optimasi-Dept TIN, IPB
.
Contoh Soal GA- Mutasi
V 1 = 111011101000100111110000001110000
V 2 = 010001100110101000001101011000010
Populasi V 3 = 101101011111010010001010010110110
V 4 = 000011110101010110000100011101111
Baru Hasil V 5 = 111011101000110110100111101101001
V 6 = 000000110111001011100000001111001
Mutasi V 7 = 101101011111010010001010010110110
V 8 = 101101011111011101110110101100001
V 9 = 100001001000100010001010010110110
V10 = 001110011100010101010111101100100
V11 = 011000001001101000011101100001110
V12 = 100001001000101101110110101100001
V13 = 000111010000001010001101000010000
V14 = 010001100111101000001101010000010
V15 = 000101110111110011100001000110010
V16 = 010001100111101000001101011000010
V17 = 000111010000001010001101000010000
V18 = 101001000000111001101100000011110
V19 = 100010011101010110000101010011110
V20 = 011110111001001100111000110011011
Responsi Mata Kuliah Teknik Optimasi-Dept TIN, IPB
.
Contoh Soal GA- Mutasi
V 1 = 111011101000100111110000001110000
V 2 = 010001100110101000001101011000010
V 3 = 101101011111010010001010010110110
V 4 = 000011110101010110000100011101111
V 5 = 111011101000110110100111101101001
V 6 = 000000110111001011100000001111001
V 7 = 101101011111010010001010010110110
V 8 = 101101011111011101110110101100001
V 9 = 100001001000100010001010010110110
V10 = 001110011100010101010111101100100
V11 = 011000001001101000011101100001110
V12 = 100001001000101101110110101100001
V13 = 000111010000001010001101000010000
V14 = 010001100111101000001101010000010
V15 = 000101110111110011100001000110010
V16 = 010001100111101000001101011000010
V17 = 000111010000001010001101000010000
V18 = 101001000000111001101100000011110
V19 = 100010011101010110000101010011110
V20 = 011110111001001100111000110011011
Responsi Mata Kuliah Teknik Optimasi-Dept TIN, IPB
Contoh Soal GA