adaptive bulk search solving quadratic unconstrained
play

Adaptive Bulk Search: Solving Quadratic Unconstrained Binary - PowerPoint PPT Presentation

Adaptive Bulk Search: Solving Quadratic Unconstrained Binary Optimization Problems on Multiple GPUs Ryota Yasudo, Koji Nakano, Yasuaki Ito (Hiroshima University, Japan) Masaru Tatekawa, Ryota Katsuki, Takashi Yazane, Yoko Inaba (NTT DATA


  1. Adaptive Bulk Search: Solving Quadratic Unconstrained Binary Optimization Problems on Multiple GPUs Ryota Yasudo, Koji Nakano, Yasuaki Ito (Hiroshima University, Japan) Masaru Tatekawa, Ryota Katsuki, Takashi Yazane, Yoko Inaba (NTT DATA Corporation, Japan) Presentation at ICPP2020 1

  2. <latexit sha1_base64="Ed9Cs7+SO1Ri4HhH0n1ONSxL4=">ACHnicdZDLSgMxGIUz9VbrerSTbAIdWGZqZXaRaEgsK9gJtHTJp2qbNZIYkIy3DPIkbX8WNC0UEV/o2pu2IF/RA4PCdPyT/cXxGpTLNdyOxsLi0vJcTa2tb2xupbd36tILBCY17DFPNB0kCaOc1BRVjDR9QZDrMNJwRmfTvHFDhKQev1ITn3Rc1Oe0RzFSGtnpk/Ns87AM2zJw7ZCWzeg65EdWFIPhF2joeBiNbQrH9tBOZ8xcaSY4N8VCbEoWtHLmTBkQq2qnX9tdDwcu4QozJGXLMn3VCZFQFDMSpdqBJD7CI9QnLW05conshLP1InigSRf2PKEPV3BGv98IkSvlxHX0pIvUQP7OpvCvrBWo3mknpNwPFOF4/lAvYFB5cNoV7FJBsGITbRAWVP8V4gESCvdaEqX8Lkp/N/U8znrOJe/LGQqZlxHEuyBfZAFiCrgAVADGNyCe/AInow748F4Nl7mowkjvrMLfsh4+wApqaHw</latexit> <latexit sha1_base64="bWyAfcz4cLVbJR0+HxB7/9gfg/8=">AB+HicdVBNS8NAEJ34WetHox69LBbBg5SkFmpvBS8eK9gPaELZbLft0s0m7G7EGvpLvHhQxKs/xZv/xm0aQUfDzem2FmXhBzprTjfFgrq2vrG5uFreL2zu5eyd4/6KgokYS2ScQj2QuwopwJ2tZMc9qLJcVhwGk3mF4u/O4tlYpF4kbPYuqHeCzYiBGsjTSwS3cDhjwmkJc6Z643H9hlp9LIgJakXstJw0VuxclQhytgf3uDSOShFRowrFSfdeJtZ9iqRnhdF70EkVjTKZ4TPuGChxS5afZ4XN0YpQhGkXSlNAoU79PpDhUahYGpjPEeqJ+ewvxL6+f6NGFnzIRJ5oKslw0SjSEVqkgIZMUqL5zBMJDO3IjLBEhNtsiqaEL4+Rf+TrXinleq17Vys5bHUYAjOIZTcKEOTbiCFrSBQAIP8ATP1r31aL1Yr8vWFSufOYQfsN4+AR+9kro=</latexit> <latexit sha1_base64="5rguNkQI6jKPifjXxtc0ZOyCzIY=">ACLnicdZBLSwMxFIUzvq2vqks3wSLowjKjhdpFoSCSwVrB9o6ZNJUzOZIbkjLcP8Ijf+FV0IKuLWn2HajvhADwQO37khucePBNdg20/WxOTU9Mzs3HxuYXFpeSW/unauw1hRVqehCJXrE80El6wOHARzI8VI4AvW8K8Ph3njhinNQ3kGg4i1A3IpeZdTAgZ5+aOjbXen6l60gPUhOUtxA7u4ils6DryEV+30IpG7TpqB3hdomLiX9j2O+17PyxfsYmUkPDblUmYqDnaK9kgFlOnEyz+0OiGNAyaBCqJ107EjaCdEAaeCpblWrFlE6DW5ZE1jJQmYbiejdVO8ZUgHd0NljgQ8ot9vJCTQehD4ZjIgcKV/Z0P4V9aMoXvQTriMYmCSjh/qxgJDiIfd4Q5XjIYGEOo4uavmF4RSiYhnOmhM9N8f/mfK/o7Bf3TkuFmp3VMYc20CbaRg4qoxo6Rieoji6RfoGb1Yd9aj9Wq9jUcnrOzOvoh6/0DA3qn/w=</latexit> <latexit sha1_base64="DpCu9pR2yrqli78Iv5IMwaAaTZg=">AB73icdVDLSgNBEOz1GeMr6tHLYBTiJezEQMxBCIjgMYJ5QLKE2clsMmT24cysEJb8hBcPinj1d7z5N042K6hoQUNR1U13lxsJrRtf1hLyura+u5jfzm1vbObmFv63CWFLWoqEIZdcligkesJbmWrBuJBnxXcE67uRy7nfumVQ8DG71NGKOT0YB9zgl2kjdqxK2MT69GBSKdrmeAi1IrZqROka4bKcoQobmoPDeH4Y09lmgqSBK9bAdaSchUnMq2CzfjxWLCJ2QEesZGhCfKSdJ752hE6MkRdKU4FGqfp9IiG+UlPfNZ0+0WP125uLf3m9WHvnTsKDKNYsoItFXiyQDtH8eTklEtpoYQKrm5FdExkYRqE1HehPD1KfqftCtlfFau3FSLjeMsjhwcwhGUAEMNGnANTWgBQEP8ATP1p31aL1Yr4vWJSubOYAfsN4+AW1sjtk=</latexit> Quadratic Unconstrained Binary Optimization (QUBO) An NP-hard problem of finding an ๐‘œ -bit vector ๐‘Œ = ๐‘ฆ ! ๐‘ฆ " โ‹ฏ ๐‘ฆ #$" with the minimum energy. ( n = 4) Weight matrix W input: an ๐’ ร—๐’ symmetric weight matrix W = ( W ij ) 0 1 2 3 n โˆ’ 1 n โˆ’ 1 W 00 W 01 W 02 W 03 0 minimize: energy X X E ( X ) = X T WX = W ij x i x j W 10 W 11 W 12 W 13 1 i =0 j =0 x i โˆˆ { 0 , 1 } W 20 W 21 W 22 W 23 2 W 30 W 31 W 32 W 33 3 โ€ข Example n โˆ’ 1 n โˆ’ 1 X X E ( X ) = W ij x i x j Weight matrix W i =0 j =0 0 1 2 3 0 1 2 3 1 โˆ’ 0 + 2 โˆ’ 2 0 1 2 3 E (1011) = 1 0 2 โˆ’ 2 0 1 โˆ’ 1 2 โˆ’ 2 0 โˆ’0 + 0 + 0 + 0 ๐‘ฆ ! ๐‘ฆ ! โˆ’ ๐‘ฆ ! ๐‘ฆ " 2 ๐‘ฆ ! ๐‘ฆ # โˆ’ 2 ๐‘ฆ ! ๐‘ฆ $ 0 +2 + 0 โˆ’ 3 โˆ’ 5 0 0 0 0 1 โˆ’ 1 5 3 4 1 โˆ’2 + 0 โˆ’ 5 + 4 โˆ’ ๐‘ฆ " ๐‘ฆ ! 5 ๐‘ฆ " ๐‘ฆ " 3 ๐‘ฆ " ๐‘ฆ # 4 ๐‘ฆ " ๐‘ฆ $ 1 <latexit sha1_base64="lqFmsDpvdDZasXgv8jORrR4+9U=">AB6HicdVBNS8NAEJ3Ur1q/qh69LBbBU0hqofYgFLx4bMF+QBvKZrtp1242YXcjlNBf4MWDIl79Sd78N27TCr6YODx3gwz8/yYM6Ud58MqrK1vbG4Vt0s7u3v7B+XDo6KEkloh0Q8kn0fK8qZoB3NKf9WFIc+pz2/Nn10u/dU6lYJG71PKZeiCeCBYxgbaT21ahcexGBrQi9VpOGi5ybSdDBXK0RuX34TgiSUiFJhwrNXCdWHsplpoRThelYaJojMkMT+jAUIFDqrw0O3SBzowyRkEkTQmNMvX7RIpDpeahbzpDrKfqt7cU/IGiQ4uvZSJONFUkNWiIOFIR2j5NRozSYnmc0MwkczcisgUS0y0yaZkQvj6FP1PulXbvbCr7Vql6eRxFOETuEcXKhDE26gBR0gQOEBnuDZurMerRfrdVasPKZY/gB6+0TXeuNRg=</latexit> โˆ’8 2 0 โˆ’ 3 โˆ’ 5 2 2 3 โˆ’ 3 โˆ’ 5 2 = 2 ๐‘ฆ # ๐‘ฆ ! 3 ๐‘ฆ # ๐‘ฆ " โˆ’ 3 ๐‘ฆ # ๐‘ฆ # โˆ’ 5 ๐‘ฆ # ๐‘ฆ $ 2 โˆ’ 2 0 โˆ’ 5 4 3 โˆ’ 2 4 โˆ’ 5 4 3 โˆ’ 2 ๐‘ฆ $ ๐‘ฆ ! 4 ๐‘ฆ $ ๐‘ฆ " โˆ’ 5 ๐‘ฆ $ ๐‘ฆ # 4 ๐‘ฆ $ ๐‘ฆ $ 3 2

  3. equivalent Why is QUBO important? โ€ข Many NP problems can easily be converted to QUBO โ€“ a QUBO solver is a solver for a wide range of combinatorial optimization problems There exists an interaction Weight matrix W between adjacent two spins. 0 1 2 3 W 00 W 01 W 02 W 03 0 MAX-CUT, TSP , W 10 W 11 W 12 W 13 1 etc. W 20 W 21 W 22 W 23 2 Each spin takes the velue W 30 W 31 W 32 W 33 3 of 1 or -1. Ising model QUBO instance used in quantum annealing โ€ข Solving QUBO can be an alternative method to quantum annealing (QA). 3

  4. Our main contributions โ€ข Propose Adaptive Bulk Search ( ABS ), a new search method for solving QUBO โ€“ ฮŸ (1) cost for evaluating energy per solution โ€ข Present an implementation of ABS on multiple GPUs and show results for MAX-CUT, TSP , and random QUBO instances. โ€“ 1.2T search rate (it can evaluate 1.2 ร— 10 12 solutions per second). 4

  5. <latexit sha1_base64="fOT0wGVxsLcJKVZIe1BV3Q1xE=">ACNnicdVBNS+RAEO2o68e46qwevTQOC8qyQzIOuB4EwcteBAVHByZD6PR0tEmnO3RXJEPIr/Li7/DmxYOLePUn2MmM4i7ug4bHq1dVXS9MBTfguvfOzOzcl/mFxaXG8teV1bXmt/VzozJNWY8qoXQ/JIYJLlkPOAjWTzUjSjYRgfVfWLa6YNV/IMxikbJuRS8ohTAlYKmsc+sByKSPC0DGK83d85yAM3Dzs05ECg/OgiH96JfaVHVNtKfIgLmv5RyW/u6R1Bc2W296vgSdkrzsl+x72m6NFpriJGje+SNFs4RJoIYM/DcFIYF0cCpYGXDzwxLCY3JRtYKknCzLCozy7xd6uMcKS0fRJwrX7sKEhizDgJrTMhcGX+rVXiZ7VBtGvYcFlmgGTdLIoygQGhasM8YhrRkGMLSFUc/tXTK+IJhRs0g0bwtul+P/kvNP2dtud027rsDuNYxFtoi20jTy0hw7Rb3SCeoiG3SPHtEf59Z5cJ6c54l1xpn2bKC/4Ly8AlLcrE4=</latexit> Local search 0 1 2 3 4 X 1 0 1 1 0 โ€ข For an n -bit vector ๐‘Œ = ๐‘ฆ * ๐‘ฆ + โ‹ฏ ๐‘ฆ ,-+ , let us define flip ๐‘ฆ ! flip k ( X ) = x 0 x 1 ยท ยท ยท x k โˆ’ 1 x k x k +1 ยท ยท ยท x n โˆ’ 1 flip 2 ( X ) 1 0 0 1 0 k -th bit is flipped We can use this function for obtaining neighbor solutions. 0 1000 0 0010 1 0 000 0 0110 11 1 00 1 1 000 1 1 110 110 1 0 10110 10 0 10 10 1 10 โ€ฆ 101 00 100 0 0 1100 1 1011 1 1001 1 5

  6. <latexit sha1_base64="5rguNkQI6jKPifjXxtc0ZOyCzIY=">ACLnicdZBLSwMxFIUzvq2vqks3wSLowjKjhdpFoSCSwVrB9o6ZNJUzOZIbkjLcP8Ijf+FV0IKuLWn2HajvhADwQO37khucePBNdg20/WxOTU9Mzs3HxuYXFpeSW/unauw1hRVqehCJXrE80El6wOHARzI8VI4AvW8K8Ph3njhinNQ3kGg4i1A3IpeZdTAgZ5+aOjbXen6l60gPUhOUtxA7u4ils6DryEV+30IpG7TpqB3hdomLiX9j2O+17PyxfsYmUkPDblUmYqDnaK9kgFlOnEyz+0OiGNAyaBCqJ107EjaCdEAaeCpblWrFlE6DW5ZE1jJQmYbiejdVO8ZUgHd0NljgQ8ot9vJCTQehD4ZjIgcKV/Z0P4V9aMoXvQTriMYmCSjh/qxgJDiIfd4Q5XjIYGEOo4uavmF4RSiYhnOmhM9N8f/mfK/o7Bf3TkuFmp3VMYc20CbaRg4qoxo6Rieoji6RfoGb1Yd9aj9Wq9jUcnrOzOvoh6/0DA3qn/w=</latexit> Naive Evaluation of Energy E ( X ) n โˆ’ 1 n โˆ’ 1 Evaluating ๐น ๐‘Œ requires ฮŸ ( n 2 ) cost. โ€ข X X E ( X ) = X T WX = W ij x i x j i =0 j =0 0 1000 Weight matrix W 0 0010 1 0 000 0 0110 0 1 2 3 4 W 00 W 01 W 02 W 03 W 04 0 ฮŸ ( n 2 ) 11 1 00 1 1 000 1 1 110 W 10 W 11 W 12 W 13 W 14 1 ฮŸ ( n 2 ) W 20 W 21 W 22 W 23 W 24 2 110 1 0 10110 10 0 10 10 1 10 โ€ฆ ฮŸ ( n 2 ) 3 W 30 W 31 W 32 W 33 W 34 101 00 100 0 0 1100 1 4 W 40 W 41 W 42 W 43 W 44 1011 1 1001 1 6

  7. <latexit sha1_base64="Ed9Cs7+SO1Ri4HhH0n1ONSxL4=">ACHnicdZDLSgMxGIUz9VbrerSTbAIdWGZqZXaRaEgsK9gJtHTJp2qbNZIYkIy3DPIkbX8WNC0UEV/o2pu2IF/RA4PCdPyT/cXxGpTLNdyOxsLi0vJcTa2tb2xupbd36tILBCY17DFPNB0kCaOc1BRVjDR9QZDrMNJwRmfTvHFDhKQev1ITn3Rc1Oe0RzFSGtnpk/Ns87AM2zJw7ZCWzeg65EdWFIPhF2joeBiNbQrH9tBOZ8xcaSY4N8VCbEoWtHLmTBkQq2qnX9tdDwcu4QozJGXLMn3VCZFQFDMSpdqBJD7CI9QnLW05conshLP1InigSRf2PKEPV3BGv98IkSvlxHX0pIvUQP7OpvCvrBWo3mknpNwPFOF4/lAvYFB5cNoV7FJBsGITbRAWVP8V4gESCvdaEqX8Lkp/N/U8znrOJe/LGQqZlxHEuyBfZAFiCrgAVADGNyCe/AInow748F4Nl7mowkjvrMLfsh4+wApqaHw</latexit> <latexit sha1_base64="QCLbJHtQm/gW0lgc+nLOHb8rQ=">ACPnicdZDPaxNBFMdn68af6Xt0ctgsCSIYTcW2h4KBS14rGCaQCYs5O37WRnZteZt6Vh2b/MS/8Gbx69eFDEq0cnmwgq+oUZPnzfe8y8b1Io6TAMPwYbN27eun1n827r3v0HDx+1t7bPXF5aAUORq9yOE+5ASQNDlKhgXFjgOlEwSrKXy/roEqyTuXmLiwKmp8bmUrB0Vtxe8hegUIeZ91x72j3pMsQrBKlSzqOKPe7D0/8TdjraNdygpNuwPKXKnjas4MvKNZTUdxlc3rq3hOnzWc1b243Qn7h43oCvb31nAY0agfNuqQtU7j9gc2y0WpwaBQ3LlJFBY4rbhFKRTULVY6KLjI+DlMPBquwU2rZv2aPvXOjKa59cgbdzfJyqunVvoxHdqjhfu79rS/FdtUmJ6MK2kKUoEI1YPpaWimNlnQmLQhUCw9cWOn/SsUFt1ygT7zlQ/i1Kf0/nA360Yv+4M1e5zhcx7FJHpMnpEsisk+OyWtySoZEkPfkE/lCvgbXwefgW/B91boRrGd2yB8KfvwEZ7isVw=</latexit> Incremental computation for E ( X ) 0 1 2 3 4 Incremental computation decreases the cost for evaluating โ€ข E ( X ) X 1 0 1 1 0 energy. + ฮ” 2 ( X ) flip ๐‘ฆ ! n โˆ’ 1 n โˆ’ 1 X X E ( X ) = W ij x i x j flip 2 ( X ) 1 0 0 1 0 i =0 j =0 E (flip 2 ( X )) โˆ† k ( X ) = E (flip k ( X )) โˆ’ E ( X ) X = ยฑ (2 W kj x j + W kk ) j 6 = k 0 1000 0 0010 1 0 000 Weight matrix W 0 0110 0 1 k 3 +๐œ  ๐Ÿ 11 1 00 +๐œ  ๐Ÿ‘ 1 1 000 W 00 W 01 W 02 W 03 ฮŸ ( n ) 0 1 1 110 +๐œ  ๐Ÿ“ W 10 W 11 W 12 W 13 ฮŸ ( n ) 1 110 1 0 10110 10 0 10 โ€ฆ 10 1 10 W 20 W 21 W 22 W 23 k ฮŸ ( n ) 101 00 100 0 0 1100 1 W 30 W 31 W 32 W 33 3 1011 1 1001 1 7 With this difference computation, the computational cost for

Recommend


More recommend