{"title":"提高基于ilp问题的计算性能","authors":"M. Narasimhan, J. Ramanujam","doi":"10.1145/288548.289091","DOIUrl":null,"url":null,"abstract":"Many interesting problems in VLSI design are computationally extremely difficult, and as such, there exist no efficient (read polynomial time) algorithms for these problems. Such problems include placement, routing, scheduling and partitioning. A commonly used technique for solving these problems is to model them as an integer linear programming (ILP) problem, and to then solve the resulting model using a generic ILP solver. So far, improving the computational efficiency of these problems was considered equivalent to improving the model. We show that large performance improvements can be achieved by incorporating problem specific information into the ILP solver itself. While the techniques that we present are general in nature, for the sake of concreteness, we illustrate them by applying them to scheduling problems in high level synthesis. It is shown that there is a lot of problem specific information that can be incorporated into the model solver, and that doing so actually improves the performance considerably. We present experimental results to show that the problem specific ILP solver is considerably faster, often showing improvements by a factor of 1000 in execution time.","PeriodicalId":224802,"journal":{"name":"1998 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (IEEE Cat. No.98CB36287)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1998-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"7","resultStr":"{\"title\":\"Improving the computational performance of ILP-based problems\",\"authors\":\"M. Narasimhan, J. Ramanujam\",\"doi\":\"10.1145/288548.289091\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Many interesting problems in VLSI design are computationally extremely difficult, and as such, there exist no efficient (read polynomial time) algorithms for these problems. Such problems include placement, routing, scheduling and partitioning. A commonly used technique for solving these problems is to model them as an integer linear programming (ILP) problem, and to then solve the resulting model using a generic ILP solver. So far, improving the computational efficiency of these problems was considered equivalent to improving the model. We show that large performance improvements can be achieved by incorporating problem specific information into the ILP solver itself. While the techniques that we present are general in nature, for the sake of concreteness, we illustrate them by applying them to scheduling problems in high level synthesis. It is shown that there is a lot of problem specific information that can be incorporated into the model solver, and that doing so actually improves the performance considerably. We present experimental results to show that the problem specific ILP solver is considerably faster, often showing improvements by a factor of 1000 in execution time.\",\"PeriodicalId\":224802,\"journal\":{\"name\":\"1998 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (IEEE Cat. No.98CB36287)\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1998-11-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"7\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"1998 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (IEEE Cat. No.98CB36287)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/288548.289091\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"1998 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (IEEE Cat. No.98CB36287)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/288548.289091","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Improving the computational performance of ILP-based problems
Many interesting problems in VLSI design are computationally extremely difficult, and as such, there exist no efficient (read polynomial time) algorithms for these problems. Such problems include placement, routing, scheduling and partitioning. A commonly used technique for solving these problems is to model them as an integer linear programming (ILP) problem, and to then solve the resulting model using a generic ILP solver. So far, improving the computational efficiency of these problems was considered equivalent to improving the model. We show that large performance improvements can be achieved by incorporating problem specific information into the ILP solver itself. While the techniques that we present are general in nature, for the sake of concreteness, we illustrate them by applying them to scheduling problems in high level synthesis. It is shown that there is a lot of problem specific information that can be incorporated into the model solver, and that doing so actually improves the performance considerably. We present experimental results to show that the problem specific ILP solver is considerably faster, often showing improvements by a factor of 1000 in execution time.