{"id":"https://openalex.org/W1605603185","doi":"https://doi.org/10.1109/cacsd.2010.5612665","title":"Code generation for receding horizon control","display_name":"Code generation for receding horizon control","publication_year":2010,"publication_date":"2010-09-01","ids":{"openalex":"https://openalex.org/W1605603185","doi":"https://doi.org/10.1109/cacsd.2010.5612665","mag":"1605603185"},"language":"en","primary_location":{"id":"doi:10.1109/cacsd.2010.5612665","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cacsd.2010.5612665","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2010 IEEE International Symposium on Computer-Aided Control System Design","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5064067503","display_name":"Jacob Mattingley","orcid":null},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jacob Mattingley","raw_affiliation_strings":["Stanford University, Stanford, United States"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Stanford University, Stanford, United States","institution_ids":["https://openalex.org/I97018004"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5101657244","display_name":"Yang Wang","orcid":"https://orcid.org/0000-0002-8333-0843"},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Yang Wang","raw_affiliation_strings":["Stanford University, Stanford, United States"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Stanford University, Stanford, United States","institution_ids":["https://openalex.org/I97018004"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5011176205","display_name":"Stephen Boyd","orcid":"https://orcid.org/0000-0001-8353-6000"},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Stephen Boyd","raw_affiliation_strings":["Stanford University, Stanford, United States"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Stanford University, Stanford, United States","institution_ids":["https://openalex.org/I97018004"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I97018004"],"apc_list":null,"apc_paid":null,"fwci":13.4299,"has_fulltext":false,"cited_by_count":76,"citation_normalized_percentile":{"value":0.99386806,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"985","last_page":"992"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10791","display_name":"Advanced Control Systems Optimization","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/2207","display_name":"Control and Systems Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10791","display_name":"Advanced Control Systems Optimization","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/2207","display_name":"Control and Systems Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10963","display_name":"Advanced Optimization Algorithms Research","score":0.9901999831199646,"subfield":{"id":"https://openalex.org/subfields/2612","display_name":"Numerical Analysis"},"field":{"id":"https://openalex.org/fields/26","display_name":"Mathematics"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11236","display_name":"Control Systems and Identification","score":0.9879999756813049,"subfield":{"id":"https://openalex.org/subfields/2207","display_name":"Control and Systems Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/solver","display_name":"Solver","score":0.7168274521827698},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.6936731934547424},{"id":"https://openalex.org/keywords/model-predictive-control","display_name":"Model predictive control","score":0.6673299670219421},{"id":"https://openalex.org/keywords/optimization-problem","display_name":"Optimization problem","score":0.5736478567123413},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.5216893553733826},{"id":"https://openalex.org/keywords/mathematical-optimization","display_name":"Mathematical optimization","score":0.5151535272598267},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4920503497123718},{"id":"https://openalex.org/keywords/convex-optimization","display_name":"Convex optimization","score":0.47444188594818115},{"id":"https://openalex.org/keywords/control","display_name":"Control (management)","score":0.3006054162979126},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.26861661672592163},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.20122012495994568},{"id":"https://openalex.org/keywords/regular-polygon","display_name":"Regular polygon","score":0.19407346844673157},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.1535760462284088},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.09582769870758057},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.08933034539222717}],"concepts":[{"id":"https://openalex.org/C2778770139","wikidata":"https://www.wikidata.org/wiki/Q1966904","display_name":"Solver","level":2,"score":0.7168274521827698},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6936731934547424},{"id":"https://openalex.org/C172205157","wikidata":"https://www.wikidata.org/wiki/Q1782962","display_name":"Model predictive control","level":3,"score":0.6673299670219421},{"id":"https://openalex.org/C137836250","wikidata":"https://www.wikidata.org/wiki/Q984063","display_name":"Optimization problem","level":2,"score":0.5736478567123413},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.5216893553733826},{"id":"https://openalex.org/C126255220","wikidata":"https://www.wikidata.org/wiki/Q141495","display_name":"Mathematical optimization","level":1,"score":0.5151535272598267},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4920503497123718},{"id":"https://openalex.org/C157972887","wikidata":"https://www.wikidata.org/wiki/Q463359","display_name":"Convex optimization","level":3,"score":0.47444188594818115},{"id":"https://openalex.org/C2775924081","wikidata":"https://www.wikidata.org/wiki/Q55608371","display_name":"Control (management)","level":2,"score":0.3006054162979126},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.26861661672592163},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.20122012495994568},{"id":"https://openalex.org/C112680207","wikidata":"https://www.wikidata.org/wiki/Q714886","display_name":"Regular polygon","level":2,"score":0.19407346844673157},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.1535760462284088},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.09582769870758057},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.08933034539222717},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1109/cacsd.2010.5612665","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cacsd.2010.5612665","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2010 IEEE International Symposium on Computer-Aided Control System Design","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.398.7322","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.398.7322","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://stanford.edu/~boyd/papers/pdf/code_gen_rhc_msc.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.398.8221","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.398.8221","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://stanford.edu/~boyd/papers/pdf/code_gen_rhc.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":66,"referenced_works":["https://openalex.org/W74203006","https://openalex.org/W118318277","https://openalex.org/W165896801","https://openalex.org/W1497423560","https://openalex.org/W1552127371","https://openalex.org/W1561941139","https://openalex.org/W1572335800","https://openalex.org/W1602240847","https://openalex.org/W1603657390","https://openalex.org/W1965324089","https://openalex.org/W1967073510","https://openalex.org/W1976169918","https://openalex.org/W1977192803","https://openalex.org/W1979255915","https://openalex.org/W1993170675","https://openalex.org/W1999502602","https://openalex.org/W1999913571","https://openalex.org/W2004453692","https://openalex.org/W2005012890","https://openalex.org/W2007789597","https://openalex.org/W2015321973","https://openalex.org/W2024424988","https://openalex.org/W2025195441","https://openalex.org/W2062554267","https://openalex.org/W2066019262","https://openalex.org/W2066459185","https://openalex.org/W2071476171","https://openalex.org/W2080053379","https://openalex.org/W2090983436","https://openalex.org/W2095942479","https://openalex.org/W2097886690","https://openalex.org/W2101986122","https://openalex.org/W2106892270","https://openalex.org/W2109408046","https://openalex.org/W2112694890","https://openalex.org/W2120354827","https://openalex.org/W2121362876","https://openalex.org/W2122216119","https://openalex.org/W2123214761","https://openalex.org/W2129905389","https://openalex.org/W2134673975","https://openalex.org/W2136705514","https://openalex.org/W2138114467","https://openalex.org/W2150187377","https://openalex.org/W2153047409","https://openalex.org/W2155713971","https://openalex.org/W2164434616","https://openalex.org/W2165880322","https://openalex.org/W2178935672","https://openalex.org/W2182510773","https://openalex.org/W2184761647","https://openalex.org/W2213594914","https://openalex.org/W2271358270","https://openalex.org/W2296319761","https://openalex.org/W2399393671","https://openalex.org/W2486403688","https://openalex.org/W2510870520","https://openalex.org/W2536620281","https://openalex.org/W4243241350","https://openalex.org/W4250589301","https://openalex.org/W4285719527","https://openalex.org/W4299822097","https://openalex.org/W6666905780","https://openalex.org/W6675368531","https://openalex.org/W6677641952","https://openalex.org/W6725258875"],"related_works":["https://openalex.org/W2160620982","https://openalex.org/W2084957735","https://openalex.org/W4318606457","https://openalex.org/W2281360585","https://openalex.org/W2374073571","https://openalex.org/W2035082072","https://openalex.org/W1987400080","https://openalex.org/W2210189402","https://openalex.org/W2032773113","https://openalex.org/W1601283844"],"abstract_inverted_index":{"Receding":[0],"horizon":[1,37],"control":[2,9,15,41,50,83,131,266],"(RHC),":[3],"also":[4],"known":[5],"as":[6,47],"model":[7],"predictive":[8],"(MPC),":[10],"is":[11,68,123,142,146,209,228],"a":[12,21,34,53,135,212,222,235,270,285],"general":[13],"purpose":[14],"scheme":[16],"that":[17,69,87,274],"involves":[18],"repeatedly":[19],"solving":[20,238],"constrained":[22],"optimization":[23,71,121,153,184,192],"problem,":[24],"using":[25,169],"predictions":[26],"of":[27,66,183,231,272,287],"future":[28],"costs,":[29],"disturbances,":[30],"and":[31,55,58,126,180,185,201],"constraints":[32],"over":[33],"moving":[35],"time":[36],"to":[38,74,85,109,147,155,249],"choose":[39],"the":[40,120,130,149,152,197,206],"action.":[42],"RHC":[43,67,207,251],"handles":[44],"constraints,":[45],"such":[46],"limits":[48],"on":[49,243],"variables,":[51],"in":[52,151,165,190,211,239],"direct":[54],"natural":[56],"way,":[57],"generates":[59],"sophisticated":[60],"feed-forward":[61],"actions.":[62],"The":[63,225],"main":[64],"disadvantage":[65],"an":[70],"problem":[72,122,154],"has":[73,161],"be":[75,91,276],"solved":[76,124],"at":[77,253],"each":[78],"step,":[79],"which":[80,141],"leads":[81],"many":[82],"engineers":[84],"think":[86],"it":[88,157,247],"can":[89],"only":[90,134],"used":[92],"for":[93,221],"systems":[94],"with":[95,263],"slow":[96],"sampling":[97],"(say,":[98],"less":[99],"than":[100,234],"one":[101,115],"Hz).":[102],"Several":[103],"techniques":[104],"have":[105,195],"recently":[106],"been":[107,163],"developed":[108],"get":[110],"around":[111],"this":[112,175,257],"problem.":[113],"In":[114,256,280],"approach,":[116,140],"called":[117],"explicit":[118],"MPC,":[119],"analytically":[125],"explicitly,":[127],"so":[128],"evaluating":[129],"policy":[132,208],"requires":[133,176],"lookup":[136],"table":[137],"search.":[138],"Another":[139],"our":[143],"focus":[144],"here,":[145],"exploit":[148],"structure":[150],"solve":[156],"efficiently.":[158],"This":[159],"approach":[160],"previously":[162],"applied":[164],"several":[166,288],"specific":[167],"cases,":[168],"custom,":[170],"hand":[171],"written":[172],"code.":[173],"However,":[174],"significant":[177],"development":[178],"time,":[179],"specialist":[181],"knowledge":[182],"numerical":[186],"algorithms.":[187],"Recent":[188],"developments":[189],"convex":[191],"code":[193,204,220,261],"generation":[194,262],"made":[196],"task":[198],"much":[199],"easier":[200],"quicker.":[202],"With":[203],"generation,":[205],"specified":[210],"high-level":[213],"language,":[214],"then":[215],"automatically":[216],"transformed":[217],"into":[218],"source":[219],"custom":[223,226],"solver.":[224],"solver":[227],"typically":[229],"orders":[230],"magnitude":[232],"faster":[233],"generic":[236,292],"solver,":[237],"milliseconds":[240],"or":[241],"microseconds":[242],"standard":[244],"processors,":[245],"making":[246],"possible":[248],"use":[250],"policies":[252],"kilohertz":[254],"rates.":[255],"paper":[258],"we":[259,283],"demonstrate":[260],"two":[264],"simple":[265],"examples.":[267],"They":[268],"show":[269,284],"range":[271],"problems":[273],"may":[275],"handled":[277],"by":[278],"RHC.":[279],"every":[281],"case,":[282],"speedup":[286],"hundred":[289],"times":[290],"from":[291],"parser-solvers.":[293]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":5},{"year":2020,"cited_by_count":3},{"year":2019,"cited_by_count":6},{"year":2018,"cited_by_count":3},{"year":2017,"cited_by_count":5},{"year":2016,"cited_by_count":9},{"year":2015,"cited_by_count":7},{"year":2014,"cited_by_count":10},{"year":2013,"cited_by_count":7},{"year":2012,"cited_by_count":7}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
