Updates from April, 2012 Toggle Comment Threads | Pintasan Keyboard

  • abrari 4:56 am on 2 April 2012 Permalink | Balas  

    Diterima 

    Drama singkat pagi ini.

    Menemui ketua departemen, kemudian menyerahkan surat lamaran, CV, dan transkrip nilai. Dibaca beberapa saat, kemudian direspon, “Ok, secara umum Anda sudah diterima. Minggu depan mulai masuk ya.”

    Alhamdulillahi rabbil ‘alamin. Cuma staf departemen, tapi semoga bisa jadi sumber ma’isyah. Walaupun jalan Insya Allah masih panjang, kira-kira masih 2-3 tahun lagi baru bisa berstatus sebagai “staf pengajar”.

     
    • iin 2:31 pm on 13 April 2012 Permalink | Balas

      waah , mas abrar saya saluut, selamat ka’, staf di mananya ka??

  • abrari 1:49 pm on 1 April 2012 Permalink | Balas  

    Tips cepat skripsi 

    Sekedar beberapa tips pribadi supaya skripsi cepat beres. Dengan cara-cara ini alhamdulillah, dengan izin Allah skripsi saya bisa dikerjakan dalam waktu sekitar 3 bulan.

    Fokus

    Jadikan skripsi sebagai pekerjaan utama, bukan sampingan atau paruh waktu. Lebih untung lagi kalau di semester akhir sudah tidak ada kuliah lagi, sehingga bisa lebih terarah. Di semester ini, saya sengaja tidak mencari kesibukan lain selain jadi asisten praktikum. Segala organisasi, panitia, pekerjaan, dan yang lainnya (kalau ada) sengaja disingkirkan.

    Kerjakan setiap hari

    Istirahat atau refreshing beberapa hari tentu boleh, tapi jangan sampai lebih dari satu minggu. Bahkan kalau perlu hari Sabtu dan Minggu tetap dikerjakan, dari pagi sampai malam. Biar saja dibilang yang nggak-nggak oleh orang lain.

    Sering bertemu pembimbing

    Paling tidak seminggu satu kali, bertemu dengan pembimbing untuk konsultasi dan melaporkan progress. Kalau setiap hari dikerjakan, tentu akan selalu ada progress.

    Cari topik yang sudah dipahami

    Sebisa mungkin, jangan mencari topik penelitian yang baru akan dipelajari saat penelitian. Saya sendiri mengambil topik yang tidak terlalu rumit dan sudah ada pengetahuan tentangnya, sehingga saat dikerjakan tinggal menerapkan saja apa yang sudah dipahami.

    Cari topik yang sumber datanya mudah didapat

    Jangan mencari topik yang untuk mencari datanya saja memakan waktu lama. Nanti waktu penelitian akan habis hanya untuk mengumpulkan data saja. Data yang saya gunakan untungnya tersedia di internet, dan data lainnya didapat dari kuesioner yang juga disebar di internet.

    Barangkali itu saja. Alhasil, walaupun selama pengerjaan (2 – 3 bulan) seperti orang autistik antisosial yang setiap hari di depan komputer terus, alhamdulillah kan setelah waktu tersebut bisa bebas sebebas-bebasnya. Bersakit dahulu, bersenang kemudian.

     
  • abrari 10:35 pm on 15 January 2012 Permalink | Balas  

    Model LINGO untuk mixed fleet VRP dengan time windows 

    Saya sedang ditugasi membuat model VRP dalam LINGO untuk suatu kasus. Model adalah VRP biasa dengan beberapa ketentuan:

    • Depot tunggal (single depot)
    • Kendaraan bervariasi (mixed fleet)
    • Time windows jenis hard

    Berikut modelnya. Dicoba dengan LINGO versi 11. Model ini hanya untuk 6 customer. Jika lebih atau kurang, harus diubah pada kendala penghilangan subtour.

    ! referensi :
    	[1] Dell'Amico et al. 2007. Heuristic Approaches for the FSMVRP with Time Windows. Transportation Science 41(4), pp. 516-526, © 2007 INFORMS.
    	[2] Suthikarnnarunai. 2008. A Sweep Algorithm for the Mix Fleet Vehicle Routing Problem. Proceedings of the International MultiConference of Engineers and Computer Scientists 2008 Vol III MECS 2008, 19-21 March, 2008, Hong Kong.
    ;
    
    ! waktu running dengan data hipotetik ini : sekitar 10 detik ;
    ! contoh hasil rute dengan data ini :
    
          X( 1, 3, 2)        1.000000
          X( 1, 4, 1)        1.000000
          X( 2, 7, 2)        1.000000
          X( 3, 6, 2)        1.000000
          X( 4, 5, 1)        1.000000
          X( 5, 1, 1)        1.000000
          X( 6, 2, 2)        1.000000
          X( 7, 1, 2)        1.000000
    
    ! jadi rutenya: 
          kendaraan 2 : 1 - 3 - 6 - 2 - 7 - 1 
          kendaraan 1 : 1 - 4 - 5 - 1
    
    ;
    
    DATA:
    	JUMLAH_KENDARAAN = 3;
    	JUMLAH_NODE = 7; ! 6 + depot ;
    	M = 1000000000;
    ENDDATA
    
    SETS:
    	KENDARAAN /1..JUMLAH_KENDARAAN/: Z, KAPASITAS, FIXED_COST, V, PHI;
    	CUSTOMER /1..JUMLAH_NODE/: DEMAND, A, B, TAU, S;
    
    	PELAYANAN(CUSTOMER, KENDARAAN) : Y;
    	RUTE(CUSTOMER, CUSTOMER, KENDARAAN) : X;
    	ARRIVAL(CUSTOMER, KENDARAAN) : T;
    
    	BIAYA(CUSTOMER, CUSTOMER, KENDARAAN): COST;
    	JARAK(CUSTOMER, CUSTOMER): D;
    	DURASI(CUSTOMER, CUSTOMER, KENDARAAN): DUR;
    ENDSETS
    
    ! parameter input :
    	KAPASITAS(K)	= kapasitas maksimum kendaraan K		[2]
    	FIXED_COST(K)	= fixed cost kendaraan K				[1]
    	V(K)			= kecepatan kendaraan K
    	DEMAND(I)		= demand customer I						[2]
    	A(I)			= waktu buka customer I					[1]
    	B(I)			= waktu tutup customer I				[1]
    	S(I)			= waktu pelayanan di customer I			[1]
    	D(I, J)			= jarak customer I ke customer J		[1]
    	COST(I, J, K)	= cost dari customer I ke customer J dengan kendaraan K
    	DUR(I, J, K)	= lama perjalanan dari customer I ke customer J dengan kendaraan K
    
    ! variabel yang dicari :
    	X(I, J, K)	= 1 jika pelanggan J dikunjungi setelah I oleh K 	[2]
    	Y(I, K)		= 1 jika pelanggan I dilayani oleh K 				[2]
    	Z(K)		= 1 jika kendaraan K digunakan 					[1]
    	T(I, K)		= waktu minimum kendaraan K untuk customer I 		[1]
    	PHI(K)		= waktu berangkat kendaraan K						[1]
    	TAU(I)		= waktu pelayanan customer I 						[1]
    ;
    
    DATA:
    	KAPASITAS  = 150 200 300;
    	FIXED_COST = 400 250 500;
    	V          =  60  60  50;
    
    	D =   ! antara depot dengan depot (diagonal matriks) diberi nilai bilangan besar (misal 999) ;
    		999	8.9	4.2	4.7	7.7	9.3	6.7
    		8.9	999	5.9	2.9	2.6	2.3	4.7
    		4.2	5.9	999	6.3	5.9	3.7	2.9
    		4.7	2.9	6.3	999	2.3	3	5.6
    		7.7	2.6	5.9	2.3	999	6.2	6.7
    		9.3	2.3	3.7	3	6.2	999	5.4
    		6.7	4.7	2.9	5.6	6.7	5.4	999;
    
    	! depot diset 0 ;
    	DEMAND =  0	 30 70 90 60 56 36;
    	A      =  0	  8  8 10  8 12 10;
    	B      =  0	 15 13 16 17 18 17;
    	S      =  0	  1  2  2  1  2  3;
    
    ENDDATA
    
    ! fungsi objektif ;
    
    MIN = 
    	@SUM(KENDARAAN(K) : FIXED_COST(K) * Z(K) + T(1, K) - PHI(K))
    	+
    	@SUM(CUSTOMER(I) :
    		@SUM(CUSTOMER(J) :
    			@SUM(KENDARAAN(K) : COST(I, J, K) * X(I, J, K));
    		);
    	);
    
    ! setiap customer dikunjungi sekali ;
    ! kendala (2) dalam [2] ;
    
    @FOR(CUSTOMER(I) | I #NE# 1 :
    	@SUM(KENDARAAN(K) : Y(I, K)) = 1;
    );			
    
    ! jumlah keluar masuk depot harus sama ;
    ! kendala (3) dalam [2] ;
    
    @SUM(KENDARAAN(K) : Y(1, K)) <= JUMLAH_KENDARAAN;
    
    ! kendaraan yang sama harus masuk dan keluar node kecuali depot ;
    ! kendala (4) dan (5) dalam [2] ;
    
    @FOR(CUSTOMER(I) : 
    	@FOR(KENDARAAN(K) :
    		@SUM(CUSTOMER(J) | J #NE# I : X(I, J, K)) = Y(I, K);
    		@SUM(CUSTOMER(J) | J #NE# I : X(J, I, K)) = Y(I, K);
    	);
    );
    
    ! demand tidak boleh melebihi kapasitas ;
    ! kendala (5) dalam [1] ;
    
    @FOR(KENDARAAN(K) :
    	@SUM(CUSTOMER(I) | I #NE# 1 : DEMAND(I) * Y(I, K)) <= KAPASITAS(K) * Z(K);
    );	
    
    ! waktu pelayanan harus di antara jam buka dan jam tutup ;
    ! kendala (11) dalam [1] ;
    
    @FOR(CUSTOMER(I) :
    	TAU(I) >= A(I);
    	TAU(I) <= B(I);
    );
    
    ! pengaturan time windows ;
    ! kendala (7) sampai (10) dalam [1] ;
    
    @FOR(KENDARAAN(K) :
    	T(1, K) >= PHI(K);	
    );
    
    @FOR(KENDARAAN(K) :
    	@FOR(CUSTOMER(I) | I #NE# 1 :
    		TAU(I) >= T(I, K);
    	);
    );
    
    @FOR(KENDARAAN(K) :
    	@FOR(CUSTOMER(J) | J #NE# 1 :
    		T(J, K) >= PHI(K) + DUR(1, J, K) - M*(1 - X(1,J,K));
    	);
    );
    
    @FOR(KENDARAAN(K) :
    	@FOR(CUSTOMER(I) | I #NE# 1 :
    		@FOR(CUSTOMER(J) :
    			T(J, K) >= TAU(I) + S(I) + DUR(I, J, K) - M*(1 - X(I, J, K));
    		);	
    	);
    );
    
    ! hubungan antara jarak, kecepatan, dan biaya ;
    
    @FOR(KENDARAAN(K) :
    	@FOR(CUSTOMER(I) :
    		@FOR(CUSTOMER(J) :
    			V(K) * DUR(I, J, K) = D(I, J);
    			COST(I, J, K) = DUR(I, J, K);
    		);
    	);
    );
    
    
    ! subtour elimination, mengenumerasi seluruh subset ;
    ! {2, 3}  |  {2, 4}  |  {2, 5}  |  {2, 6}  |  {2, 7}  |  {3, 4}  |  {3, 5}  |  {3, 6}  |  {3, 7}  |  {4, 5}  |  {4, 6}  |  {4, 7}  |  {5, 6}  |  {5, 7}  |  {6, 7}  |  {2, 3, 4}  |  {2, 3, 5}  |  {2, 3, 6}  |  {2, 3, 7}  |  {2, 4, 5}  |  {2, 4, 6}  |  {2, 4, 7}  |  {2, 5, 6}  |  {2, 5, 7}  |  {2, 6, 7}  |  {3, 4, 5}  |  {3, 4, 6}  |  {3, 4, 7}  |  {3, 5, 6}  |  {3, 5, 7}  |  {3, 6, 7}  |  {4, 5, 6}  |  {4, 5, 7}  |  {4, 6, 7}  |  {5, 6, 7}  |  {2, 3, 4, 5}  |  {2, 3, 4, 6}  |  {2, 3, 4, 7}  |  {2, 3, 5, 6}  |  {2, 3, 5, 7}  |  {2, 3, 6, 7}  |  {2, 4, 5, 6}  |  {2, 4, 5, 7}  |  {2, 4, 6, 7}  |  {2, 5, 6, 7}  |  {3, 4, 5, 6}  |  {3, 4, 5, 7}  |  {3, 4, 6, 7}  |  {3, 5, 6, 7}  |  {4, 5, 6, 7}  |  {2, 3, 4, 5, 6}  |  {2, 3, 4, 5, 7}  |  {2, 3, 4, 6, 7}  |  {2, 3, 5, 6, 7}  |  {2, 4, 5, 6, 7}  |  {3, 4, 5, 6, 7}  |  {2, 3, 4, 5, 6, 7};
    ! kendala (7) dalam [2] ;
    
    @FOR(KENDARAAN(K) :
    
    	X(2, 3, K) + X(3, 2, K) <= 1;
    	X(2, 4, K) + X(4, 2, K) <= 1;
    	X(2, 5, K) + X(5, 2, K) <= 1;
    	X(2, 6, K) + X(6, 2, K) <= 1;
    	X(2, 7, K) + X(7, 2, K) <= 1;
    	X(3, 4, K) + X(4, 3, K) <= 1;
    	X(3, 5, K) + X(5, 3, K) <= 1;
    	X(3, 6, K) + X(6, 3, K) <= 1;
    	X(3, 7, K) + X(7, 3, K) <= 1;
    	X(4, 5, K) + X(5, 4, K) <= 1;
    	X(4, 6, K) + X(6, 4, K) <= 1;
    	X(4, 7, K) + X(7, 4, K) <= 1;
    	X(5, 6, K) + X(6, 5, K) <= 1;
    	X(5, 7, K) + X(7, 5, K) <= 1;
    	X(6, 7, K) + X(7, 6, K) <= 1;
    	X(2, 3, K) + X(2, 4, K) + X(3, 2, K) + X(3, 4, K) + X(4, 2, K) + X(4, 3, K) <= 2;
    	X(2, 3, K) + X(2, 5, K) + X(3, 2, K) + X(3, 5, K) + X(5, 2, K) + X(5, 3, K) <= 2;
    	X(2, 3, K) + X(2, 6, K) + X(3, 2, K) + X(3, 6, K) + X(6, 2, K) + X(6, 3, K) <= 2;
    	X(2, 3, K) + X(2, 7, K) + X(3, 2, K) + X(3, 7, K) + X(7, 2, K) + X(7, 3, K) <= 2;
    	X(2, 4, K) + X(2, 5, K) + X(4, 2, K) + X(4, 5, K) + X(5, 2, K) + X(5, 4, K) <= 2;
    	X(2, 4, K) + X(2, 6, K) + X(4, 2, K) + X(4, 6, K) + X(6, 2, K) + X(6, 4, K) <= 2;
    	X(2, 4, K) + X(2, 7, K) + X(4, 2, K) + X(4, 7, K) + X(7, 2, K) + X(7, 4, K) <= 2;
    	X(2, 5, K) + X(2, 6, K) + X(5, 2, K) + X(5, 6, K) + X(6, 2, K) + X(6, 5, K) <= 2;
    	X(2, 5, K) + X(2, 7, K) + X(5, 2, K) + X(5, 7, K) + X(7, 2, K) + X(7, 5, K) <= 2;
    	X(2, 6, K) + X(2, 7, K) + X(6, 2, K) + X(6, 7, K) + X(7, 2, K) + X(7, 6, K) <= 2;
    	X(3, 4, K) + X(3, 5, K) + X(4, 3, K) + X(4, 5, K) + X(5, 3, K) + X(5, 4, K) <= 2;
    	X(3, 4, K) + X(3, 6, K) + X(4, 3, K) + X(4, 6, K) + X(6, 3, K) + X(6, 4, K) <= 2;
    	X(3, 4, K) + X(3, 7, K) + X(4, 3, K) + X(4, 7, K) + X(7, 3, K) + X(7, 4, K) <= 2;
    	X(3, 5, K) + X(3, 6, K) + X(5, 3, K) + X(5, 6, K) + X(6, 3, K) + X(6, 5, K) <= 2;
    	X(3, 5, K) + X(3, 7, K) + X(5, 3, K) + X(5, 7, K) + X(7, 3, K) + X(7, 5, K) <= 2;
    	X(3, 6, K) + X(3, 7, K) + X(6, 3, K) + X(6, 7, K) + X(7, 3, K) + X(7, 6, K) <= 2;
    	X(4, 5, K) + X(4, 6, K) + X(5, 4, K) + X(5, 6, K) + X(6, 4, K) + X(6, 5, K) <= 2;
    	X(4, 5, K) + X(4, 7, K) + X(5, 4, K) + X(5, 7, K) + X(7, 4, K) + X(7, 5, K) <= 2;
    	X(4, 6, K) + X(4, 7, K) + X(6, 4, K) + X(6, 7, K) + X(7, 4, K) + X(7, 6, K) <= 2;
    	X(5, 6, K) + X(5, 7, K) + X(6, 5, K) + X(6, 7, K) + X(7, 5, K) + X(7, 6, K) <= 2;
    	X(2, 3, K) + X(2, 4, K) + X(2, 5, K) + X(3, 2, K) + X(3, 4, K) + X(3, 5, K) + X(4, 2, K) + X(4, 3, K) + X(4, 5, K) + X(5, 2, K) + X(5, 3, K) + X(5, 4, K) <= 3;
    	X(2, 3, K) + X(2, 4, K) + X(2, 6, K) + X(3, 2, K) + X(3, 4, K) + X(3, 6, K) + X(4, 2, K) + X(4, 3, K) + X(4, 6, K) + X(6, 2, K) + X(6, 3, K) + X(6, 4, K) <= 3;
    	X(2, 3, K) + X(2, 4, K) + X(2, 7, K) + X(3, 2, K) + X(3, 4, K) + X(3, 7, K) + X(4, 2, K) + X(4, 3, K) + X(4, 7, K) + X(7, 2, K) + X(7, 3, K) + X(7, 4, K) <= 3;
    	X(2, 3, K) + X(2, 5, K) + X(2, 6, K) + X(3, 2, K) + X(3, 5, K) + X(3, 6, K) + X(5, 2, K) + X(5, 3, K) + X(5, 6, K) + X(6, 2, K) + X(6, 3, K) + X(6, 5, K) <= 3;
    	X(2, 3, K) + X(2, 5, K) + X(2, 7, K) + X(3, 2, K) + X(3, 5, K) + X(3, 7, K) + X(5, 2, K) + X(5, 3, K) + X(5, 7, K) + X(7, 2, K) + X(7, 3, K) + X(7, 5, K) <= 3;
    	X(2, 3, K) + X(2, 6, K) + X(2, 7, K) + X(3, 2, K) + X(3, 6, K) + X(3, 7, K) + X(6, 2, K) + X(6, 3, K) + X(6, 7, K) + X(7, 2, K) + X(7, 3, K) + X(7, 6, K) <= 3;
    	X(2, 4, K) + X(2, 5, K) + X(2, 6, K) + X(4, 2, K) + X(4, 5, K) + X(4, 6, K) + X(5, 2, K) + X(5, 4, K) + X(5, 6, K) + X(6, 2, K) + X(6, 4, K) + X(6, 5, K) <= 3;
    	X(2, 4, K) + X(2, 5, K) + X(2, 7, K) + X(4, 2, K) + X(4, 5, K) + X(4, 7, K) + X(5, 2, K) + X(5, 4, K) + X(5, 7, K) + X(7, 2, K) + X(7, 4, K) + X(7, 5, K) <= 3;
    	X(2, 4, K) + X(2, 6, K) + X(2, 7, K) + X(4, 2, K) + X(4, 6, K) + X(4, 7, K) + X(6, 2, K) + X(6, 4, K) + X(6, 7, K) + X(7, 2, K) + X(7, 4, K) + X(7, 6, K) <= 3;
    	X(2, 5, K) + X(2, 6, K) + X(2, 7, K) + X(5, 2, K) + X(5, 6, K) + X(5, 7, K) + X(6, 2, K) + X(6, 5, K) + X(6, 7, K) + X(7, 2, K) + X(7, 5, K) + X(7, 6, K) <= 3;
    	X(3, 4, K) + X(3, 5, K) + X(3, 6, K) + X(4, 3, K) + X(4, 5, K) + X(4, 6, K) + X(5, 3, K) + X(5, 4, K) + X(5, 6, K) + X(6, 3, K) + X(6, 4, K) + X(6, 5, K) <= 3;
    	X(3, 4, K) + X(3, 5, K) + X(3, 7, K) + X(4, 3, K) + X(4, 5, K) + X(4, 7, K) + X(5, 3, K) + X(5, 4, K) + X(5, 7, K) + X(7, 3, K) + X(7, 4, K) + X(7, 5, K) <= 3;
    	X(3, 4, K) + X(3, 6, K) + X(3, 7, K) + X(4, 3, K) + X(4, 6, K) + X(4, 7, K) + X(6, 3, K) + X(6, 4, K) + X(6, 7, K) + X(7, 3, K) + X(7, 4, K) + X(7, 6, K) <= 3;
    	X(3, 5, K) + X(3, 6, K) + X(3, 7, K) + X(5, 3, K) + X(5, 6, K) + X(5, 7, K) + X(6, 3, K) + X(6, 5, K) + X(6, 7, K) + X(7, 3, K) + X(7, 5, K) + X(7, 6, K) <= 3;
    	X(4, 5, K) + X(4, 6, K) + X(4, 7, K) + X(5, 4, K) + X(5, 6, K) + X(5, 7, K) + X(6, 4, K) + X(6, 5, K) + X(6, 7, K) + X(7, 4, K) + X(7, 5, K) + X(7, 6, K) <= 3;
    	X(2, 3, K) + X(2, 4, K) + X(2, 5, K) + X(2, 6, K) + X(3, 2, K) + X(3, 4, K) + X(3, 5, K) + X(3, 6, K) + X(4, 2, K) + X(4, 3, K) + X(4, 5, K) + X(4, 6, K) + X(5, 2, K) + X(5, 3, K) + X(5, 4, K) + X(5, 6, K) + X(6, 2, K) + X(6, 3, K) + X(6, 4, K) + X(6, 5, K) <= 4;
    	X(2, 3, K) + X(2, 4, K) + X(2, 5, K) + X(2, 7, K) + X(3, 2, K) + X(3, 4, K) + X(3, 5, K) + X(3, 7, K) + X(4, 2, K) + X(4, 3, K) + X(4, 5, K) + X(4, 7, K) + X(5, 2, K) + X(5, 3, K) + X(5, 4, K) + X(5, 7, K) + X(7, 2, K) + X(7, 3, K) + X(7, 4, K) + X(7, 5, K) <= 4;
    	X(2, 3, K) + X(2, 4, K) + X(2, 6, K) + X(2, 7, K) + X(3, 2, K) + X(3, 4, K) + X(3, 6, K) + X(3, 7, K) + X(4, 2, K) + X(4, 3, K) + X(4, 6, K) + X(4, 7, K) + X(6, 2, K) + X(6, 3, K) + X(6, 4, K) + X(6, 7, K) + X(7, 2, K) + X(7, 3, K) + X(7, 4, K) + X(7, 6, K) <= 4;
    	X(2, 3, K) + X(2, 5, K) + X(2, 6, K) + X(2, 7, K) + X(3, 2, K) + X(3, 5, K) + X(3, 6, K) + X(3, 7, K) + X(5, 2, K) + X(5, 3, K) + X(5, 6, K) + X(5, 7, K) + X(6, 2, K) + X(6, 3, K) + X(6, 5, K) + X(6, 7, K) + X(7, 2, K) + X(7, 3, K) + X(7, 5, K) + X(7, 6, K) <= 4;
    	X(2, 4, K) + X(2, 5, K) + X(2, 6, K) + X(2, 7, K) + X(4, 2, K) + X(4, 5, K) + X(4, 6, K) + X(4, 7, K) + X(5, 2, K) + X(5, 4, K) + X(5, 6, K) + X(5, 7, K) + X(6, 2, K) + X(6, 4, K) + X(6, 5, K) + X(6, 7, K) + X(7, 2, K) + X(7, 4, K) + X(7, 5, K) + X(7, 6, K) <= 4;
    	X(3, 4, K) + X(3, 5, K) + X(3, 6, K) + X(3, 7, K) + X(4, 3, K) + X(4, 5, K) + X(4, 6, K) + X(4, 7, K) + X(5, 3, K) + X(5, 4, K) + X(5, 6, K) + X(5, 7, K) + X(6, 3, K) + X(6, 4, K) + X(6, 5, K) + X(6, 7, K) + X(7, 3, K) + X(7, 4, K) + X(7, 5, K) + X(7, 6, K) <= 4;
    	X(2, 3, K) + X(2, 4, K) + X(2, 5, K) + X(2, 6, K) + X(2, 7, K) + X(3, 2, K) + X(3, 4, K) + X(3, 5, K) + X(3, 6, K) + X(3, 7, K) + X(4, 2, K) + X(4, 3, K) + X(4, 5, K) + X(4, 6, K) + X(4, 7, K) + X(5, 2, K) + X(5, 3, K) + X(5, 4, K) + X(5, 6, K) + X(5, 7, K) + X(6, 2, K) + X(6, 3, K) + X(6, 4, K) + X(6, 5, K) + X(6, 7, K) + X(7, 2, K) + X(7, 3, K) + X(7, 4, K) + X(7, 5, K) + X(7, 6, K) <= 5;
    
    );
    
    ! kendala biner untuk variabel ;
    
    @FOR(KENDARAAN(K) : 
    	@BIN(Z(K));
    	@FOR(CUSTOMER(I) :
    		@BIN(Y(I, K));
    		@FOR(CUSTOMER(J) :
    			@BIN(X(I, J, K));
    		);
    	);
    );
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     
    • kiki 2:31 am on 1 Februari 2012 Permalink | Balas

      saya sedang skripsi, kebetulan masalah vrp saya tentang multiple depot, trus saya disarankan menggunakan lingo untuk pemecahan masalahnya.. kalo ada saran referensi buku atau web yang mengulas lingo, soalnya saya mau belajar otodidak.. terima kasih ya pak

      • abrari 7:24 am on 1 Februari 2012 Permalink

        Kalau cara memprogram di LINGO bisa dilihat di user manualnya mbak. Saya juga belajar dari situ. Cukup baca model dari referensi dan terjemahkan ke LINGO.

    • irfanchahyadi 6:39 am on 10 November 2013 Permalink | Balas

      Terimakasih mas, membantu banget ni buat skripsi saya, tentang memecahkan puzzle dengan integer linear programming, dan kasusnya mirip vrp. cuma masih mentok di kendala eliminasi subtour-nya.
      btw saya matematika ipb angkatan 47.
      oia, menampilkan codingan seperti notepad++ di blog kayak gitu gimana ya caranya? khususnya di blogspot.

    • aqilah 7:14 am on 16 April 2014 Permalink | Balas

      Salam, boleh sy tahu algorithm yg digunakan supaya sy dpt comparison dgn masalah sy.. Harap dapat membantu.. Terima kasih

    • Elvina 9:33 am on 20 Mei 2014 Permalink | Balas

      selamat sore,boleh kah saya meminta formulasi/algoritma dari penyelesaian problem diatas?saya butuh referensi untuk skripsi saya.terima kasih

    • sarii 3:45 am on 18 Juni 2014 Permalink | Balas

      hallo, saat ini saya sedang mengerjakan skripsi dan kebetulan ada beberapa bagian yang mirip artikel ini. Setelah saya baca ada beberapa yang saya kurang faham, boleh minta tolong dijelaskan?
      saya mau tanya, yang dimaksud “[1] dan[2]” di parameter input itu apa?
      dan constraint atau kendala 4 dalam 5 itu apa?
      apa saya bisa tau daftar kendalanya?
      terima kasih

      • abrari 4:33 am on 18 Juni 2014 Permalink

        [1] dan [2] adalah paper jurnal, lihat di bagian paling atas dari kode:

        [1] Dell’Amico et al. 2007. Heuristic Approaches for the FSMVRP with Time Windows.Transportation Science 41(4), pp. 516-526, © 2007 INFORMS.

        [2] Suthikarnnarunai. 2008. A Sweep Algorithm for the Mix Fleet Vehicle Routing Problem. Proceedings of the International MultiConference of Engineers and Computer Scientists 2008 Vol III MECS 2008, 19-21 March, 2008, Hong Kong.

        Di sana ada kendala-kendalanya yang juga diberi nomor. Jadi maksudnya “Kendala 4 dalam [1]” adalah kendala nomor 4 di paper [1].

    • Arif Rachman 5:27 pm on 27 November 2015 Permalink | Balas

      M (m besar) itu apa?

      • abrari 10:10 pm on 27 November 2015 Permalink

        Suatu nilai yang sangat besar saja. Bisa dibaca di papernya untuk detailnya.

    • nuzul 4:51 am on 18 Maret 2016 Permalink | Balas

      saya sudah coba model diatas,tapi untuk jumlah_node tidak valid, itu kenapa kira2?

    • Carissa 7:22 am on 30 Maret 2016 Permalink | Balas

      lingo bisa menggunakan algoritma tertentu ga sih? atau hanya menghasilkan global optimum saja?

    • Arya Satya 3:48 am on 30 Mei 2016 Permalink | Balas

      saya ingin bertanya apakah anda memiliki subtour elimination untuk 14 pembangkit?
      terima kasih

      • Arya Satya 4:09 am on 30 Mei 2016 Permalink

        Dan apakah anda mempunyai perhitungan matematis dari kasus ini?
        Terima kasih

    • airlangga krishna 2:13 pm on 24 Maret 2020 Permalink | Balas

      Assalamualaikum, ingin tanya untuk jumlah customer 47 (46 + 1 depot) bagaimana cara membuat kendala eliminasi sub-tour nya? harap dapat membantu karena saya sangat membutuhkan bantuan untuk skripsi saya

      • wawan setiawan 5:17 am on 30 Mei 2021 Permalink

        Mohon maaf kak airlangga, permasalahan saya juga sama dengan kakak, apakah jawbannya sudah kakak ketahui?, jika sudah boleh tidak sharing penyelesaiannya?terima kasih

  • abrari 10:47 pm on 20 November 2011 Permalink | Balas  

    Praktikum komgraf : polyhedra 

    Slide praktikum 11, tentang polyhedra sila unduh di sini.

     
  • abrari 12:16 am on 14 November 2011 Permalink | Balas  

    Praktikum komgraf : fraktal 

    Slide praktikum 10, tentang fraktal sila unduh di sini.

     
    • pararang 6:19 am on 14 November 2011 Permalink | Balas

      ohhh… ini toh… hasil dr status FB semalam “menjadi asprak yg berbakti, bikin slide sendiri”

    • asfarian 5:57 pm on 28 Desember 2011 Permalink | Balas

      Fractal dragon!!

  • abrari 2:33 am on 8 November 2011 Permalink | Balas  

    Perbandingan 

    Sekedar perbandingan. Hasil pemikiran acak.

    1. Steve Jobs (Apple) dan Bill Gates (Microsoft) :
      Di-drop out dari universitasnya. Tidak sukses secara akademik. Namun mendirikan perusahaan yang sangat sukses.
    2. Larry Page dan Sergey Brin (Google) :
      Calon doktor di Stanford. Secara akademik cemerlang. Juga mendirikan perusahaan yang sangat sukses (yang bermula dari proyek penelitian universitasnya).
    Kesimpulannya: Faktor akademik tidak berkorelasi dengan “kesuksesan”.
    Namun coba perhatikan lagi:
    1. Apple : Memproduksi gadget-gadget yang sangat mahal.
    2. Microsoft : Memproduksi perangkat lunak yang tidak gratis.
    3. Google : Menyediakan banyak layanan yang tersedia gratis.
    Jadi, adakah korelasi tingkat akademik dengan “kegratisan”? Sepertinya juga tidak ada.
    Just a random though
     
  • abrari 2:36 pm on 19 August 2011 Permalink | Balas  

    Hari terakhir PKL 

    Hari ini adalah hari terakhir PKL saya dan rekan sekelompok di Kantor Kominfo Bogor. Hari terakhir dari jadwal 7 minggu. Tapi, cuma namanya saja hari terakhir. Karena pekerjaannya tergolong ribet, maka waktu 7 minggu tersebut masih kurang. Akhirnya diberi tenggat waktu tambahan sampai Idul Fitri +7 hari.

    Ya, sisa Ramadhan dan Idul Fitri kali ini akan diisi dengan mengerjakan kerjaan PKL. Sebenernya punya saya sendiri sudah bisa dibilang beres. Namun kerjaan milik rekan sekelompok yang sebenarnya belum selesai, dan sebagai manusia yang diandalkan dan for the sake of solidarity saya harus ikut mengerjakannya.

    Setelah program selesai, bukan berarti pekerjaan beres. Masih ada pekerjaan lagi dalam rangka deployment aplikasi yang dibuat. Termasuk mengadakan pelatihan dan membuat dokumen buku petunjuk. Terakhir baru membuat laporan PKL untuk kepentingan akademik di kampus. Memang masih banyak :-\

    Semoga sukses.

     
  • abrari 10:03 am on 14 August 2011 Permalink | Balas  

    Tingkat Akhir… 

    Sudah sekian tahun lamanya blog ini ditinggalkan. Dan sekarang coba diisi kembali. Semoga bisa istiqomah ngetik di blog lagi seperti dulu.

    Sekarang pemilik blog ini sudah menginjak tahun keempat masa perkuliahannya di Ilmu Komputer IPB. Nggak terasa yah? Sebenarnya terasa sih. Semester-semester kemarin adalah yang paling sibuk, dan sepertinya semester yang akan datang (semester 7) nggak terlalu sibuk.

    Hm, tahun keempat, seharusnya menjadi tahun terakhir kuliah (semoga dimudahkan). Sudah jadi mahasiswa tingkat akhir. Sudah saatnya mempersiapkan untuk ke depan. Yang paling dekat tentu menyelesaikan tugas PKL. Kemudian merencanakan topik penelitian buat skripsi. Sebenarnya ada beberapa ide melayang-layang nggak jelas. Entah mana yang akan diambil, tapi mungkin topiknya mengenai computer vision, eye tracking, dan kaitannya dengan analisis usability. Kalau bingung arti istilah-istilah itu silakan cari di Google. Sudah sedikit konsultasi dengan salah satu dosen dan beliau bilang bisa diangkat jadi topik skripsi. Semoga dimudahkan.

    Itu baru tentang kuliah. Tentang hidup, sudah harus mulai merencanakan masa depan. Mulai cari sumber penghasilan, belajar hidup, dan banyak lagi. Dan yang jelas harus memikirkan nikah juga :D

    Yang terakhir itu, entah kapan. Yang jelas sedang mempersiapkan, ya, sedang, mungkin baru fase awal sekali.

    Baiklah, selamat menjalani tingkat akhir. Semoga sukses :)

     
  • abrari 8:56 am on 29 August 2010 Permalink | Balas  

    10 Hal yang Harus Dilakukan Mahasiswa Komputer Sebelum Lulus 

    Diambil dari http://ifnubima.org/10-hal-yang-harus-dilakukan-mahasiswa-komputer-sebelum-lulus-2/

    Saya baca artikel di Joel on Software tentang saran-sarannya kepada mahasiswa ilmu komputer. Sarannya dituangkan dalam sebuah daftar “hal-hal yang harus dilakukan mahasiswa ilmu komputer sebelum lulus”. Sayatertarik untuk membuat daftar saya sendiri yang disusun berdasarkan pengalaman saya sebagai mahasiswa dan sebagai programmer. Daftar ini saya susun berdasarkan urutan dari yang paling penting hingga yang kurang penting.

    (More …)

     
  • abrari 9:19 am on 25 August 2010 Permalink | Balas  

    Ide Skripsi 

    “Penggunaan algoritma shortest path dalam sistem informasi keruangan gedung Fakultas Pertanian IPB”

    Sederhananya, sistem seperti peta ruang-ruang di blok bangunan Fakultas Pertanian (Faperta), sekaligus diterapkan algoritma shortest path (misal Dijkstra’s) untuk mencari path atau jalur terpendek dari satu tempat tempat/ruang kuliah ke tempat/ruang kuliah lainnya di blok gedung Faperta (termasuk Fateta dan FMIPA) . Sebaiknya dibuat web-based agar bisa diakses dengan mudah, dan bisa diintegrasikan dengan sistem informasi IPB lainnya (seperti KRS, jadi mahasiswa bisa melihat jalur/denah menuju tempat kuliah tertentu).

    Output dari sistem bisa berupa teks yang menunjukkan jalur terpendek dari tempat asal ke tempat tujuan, dan bisa juga berupa denah secara visual (seperti peta). Peta mungkin bisa menggunakan seperti pada sistem GIS. Atau dengan cara lain? Entahlah, teknisnya nanti saja, yang penting ada idenya terlebih dahulu :)

     
c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
Balas
e
Sunting
o
Show/Hide comments
t
Pergi ke atas
l
Go to login
h
Show/Hide help
shift + esc
Batal