Difference between revisions of "Tugas 2 Final Project To Optimaze Hydrogen Storage Design"

From ccitonlinewiki
Jump to: navigation, search
(Created page with "Berikut merupakan code optimasi tangki hidrogen dengan kapasitas 1 liter, dan biaya produksi maksimal Rp. 500.000 import numpy as np from scipy.optimize import minimize def...")
 
Line 25: Line 25:
 
     return volume - 1000
 
     return volume - 1000
  
# Menebak untuk jari-jari dan tinggi
+
#Menebak untuk jari-jari dan tinggi
 
x0 = [1.0, 10.0]
 
x0 = [1.0, 10.0]
  
# Memberikan batasan untuk variabel (jari-jari dan tinggi)
+
#Memberikan batasan untuk variabel (jari-jari dan tinggi)
 
batas = [(0, None), (0, None)]
 
batas = [(0, None), (0, None)]
  
# Menentukan constrain dalam bentuk kamus
+
#Menentukan constrain dalam bentuk kamus
 
konstrain_dict = {'type': 'eq', 'fun': konstrain}
 
konstrain_dict = {'type': 'eq', 'fun': konstrain}
  
# Menggunakan fungsi minimize untuk mengoptimalkan fungsi objektif dengan memenuhi konstrain
+
#Menggunakan fungsi minimize untuk mengoptimalkan fungsi objektif dengan memenuhi konstrain
 
hasil = minimize(objektif, x0, method='SLSQP', bounds=batas, constraints=konstrain_dict)
 
hasil = minimize(objektif, x0, method='SLSQP', bounds=batas, constraints=konstrain_dict)
  
# Print hasil yang telah dioptimalkan
+
#Print hasil yang telah dioptimalkan
 
print("Hasil Optimisasi:")
 
print("Hasil Optimisasi:")
 
print("Jari-jari: {:.2f} cm".format(hasil.x[0]))
 
print("Jari-jari: {:.2f} cm".format(hasil.x[0]))
 
print("Tinggi: {:.2f} cm".format(hasil.x[1]))
 
print("Tinggi: {:.2f} cm".format(hasil.x[1]))
 
print("Luas Permukaan: {:.2f} cm^2".format(hasil.fun))
 
print("Luas Permukaan: {:.2f} cm^2".format(hasil.fun))

Revision as of 08:35, 6 June 2023

Berikut merupakan code optimasi tangki hidrogen dengan kapasitas 1 liter, 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
  1. Menebak untuk jari-jari dan tinggi

x0 = [1.0, 10.0]

  1. Memberikan batasan untuk variabel (jari-jari dan tinggi)

batas = [(0, None), (0, None)]

  1. Menentukan constrain dalam bentuk kamus

konstrain_dict = {'type': 'eq', 'fun': konstrain}

  1. Menggunakan fungsi minimize untuk mengoptimalkan fungsi objektif dengan memenuhi konstrain

hasil = minimize(objektif, x0, method='SLSQP', bounds=batas, constraints=konstrain_dict)

  1. Print hasil yang telah 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))