Difference between revisions of "Geometry Analysis"
Line 52: | Line 52: | ||
Luas Permukaan: 553.58 cm^2 | Luas Permukaan: 553.58 cm^2 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 02:31, 12 June 2023
Berikut merupakan code optimasi tangki hidrogen dengan kapasitas 1 liter, pressure 8 bar, dan biaya produksi maksimal Rp. 500.000
import numpy as np
from scipy.optimize import minimize
def objektif(x):
# x[0] mewakili jari-jari, x[1] mewakili tinggi
jari_jari = x[0]
tinggi = x[1]
# Hitung luas permukaan struktur silinder
luas_permukaan = 2 * np.pi * jari_jari * (jari_jari + tinggi)
return luas_permukaan
def konstrain(x):
# x[0] mewakili jari-jari, x[1] mewakili tinggi
jari_jari = x[0]
tinggi = x[1]
# Hitung volume internal struktur silinder
volume = np.pi * jari_jari**2 * tinggi
# Kembalikan selisih antara volume dan nilai yang diinginkan (1000 cm^3)
return volume - 1000
# Tebakan awal untuk jari-jari dan tinggi
x0 = [1.0, 10.0]
# Tentukan batasan untuk variabel (jari-jari dan tinggi)
batas = [(0, None), (0, None)]
# Tentukan konstrain dalam bentuk kamus
konstrain_dict = {'type': 'eq', 'fun': konstrain}
# Gunakan fungsi minimize untuk mengoptimalkan fungsi objektif dengan memenuhi konstrain
hasil = minimize(objektif, x0, method='SLSQP', bounds=batas, constraints=konstrain_dict)
# Cetak hasil yang dioptimalkan
print("Hasil Optimisasi:")
print("Jari-jari: {:.2f} cm".format(hasil.x[0]))
print("Tinggi: {:.2f} cm".format(hasil.x[1]))
print("Luas Permukaan: {:.2f} cm^2".format(hasil.fun))
Didapatkan hasil sebagai berikut: Jari-jari : 5.42 cm
Tinggi : 10.84 cm
Luas Permukaan: 553.58 cm^2