{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/learning-for-edge-weighted-online-bipartite","title":"Learning for Edge-Weighted Online Bipartite Matching with Robustness Guarantees","arxiv_id":"2306.00172","date":"2023-05-31","proceeding":null,"authors":["Pengfei Li","Jianyi Yang","Shaolei Ren"],"abstract":"Many problems, such as online ad display, can be formulated as online bipartite matching. The crucial challenge lies in the nature of sequentially-revealed online item information, based on which we make irreversible matching decisions at each step. While numerous expert online algorithms have been proposed with bounded worst-case competitive ratios, they may not offer satisfactory performance in average cases. On the other hand, reinforcement learning (RL) has been applied to improve the average performance, but it lacks robustness and can perform arbitrarily poorly. In this paper, we propose a novel RL-based approach to edge-weighted online bipartite matching with robustness guarantees (LOMAR), achieving both good average-case and worst-case performance. The key novelty of LOMAR is a new online switching operation which, based on a judicious condition to hedge against future uncertainties, decides whether to follow the expert's decision or the RL decision for each online item. We prove that for any $\\rho\\in[0,1]$, LOMAR is $\\rho$-competitive against any given expert online algorithm. To improve the average performance, we train the RL policy by explicitly considering the online switching operation. Finally, we run empirical experiments to demonstrate the advantages of LOMAR compared to existing baselines. Our code is available at: https://github.com/Ren-Research/LOMAR","url_abs":"https://arxiv.org/abs/2306.00172v1","url_pdf":"https://arxiv.org/pdf/2306.00172v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"learning-for-edge-weighted-online-bipartite","repo_url":"https://github.com/ren-research/lomar","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"reinforcement-learning-1","task_name":"Reinforcement Learning (RL)"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2306.00172","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2306.00172"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ren-research/lomar","reach":null}],"summary":{"ran":3,"unverified":2},"by_repo_kind":{"official":{"samples":5,"ran":3,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"c034ee0e1aebf879","entry":"GraphAttentionEncoder","repo":"ren-research/lomar","repo_kind":"official","path":"policy/gnn_hist.py","file_url":"https://github.com/ren-research/lomar/blob/HEAD/policy/gnn_hist.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c034ee0e1aebf879"}},{"code_sha256_prefix":"1e0a32bd5e09cc68","entry":"GraphAttentionLayer","repo":"ren-research/lomar","repo_kind":"official","path":"policy/gnn_hist.py","file_url":"https://github.com/ren-research/lomar/blob/HEAD/policy/gnn_hist.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1e0a32bd5e09cc68"}},{"code_sha256_prefix":"920be8d8cd13257f","entry":"MultiHeadAttentionLayer","repo":"ren-research/lomar","repo_kind":"official","path":"policy/gnn_hist.py","file_url":"https://github.com/ren-research/lomar/blob/HEAD/policy/gnn_hist.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"920be8d8cd13257f"}},{"code_sha256_prefix":"16ef43417ef04fd2","entry":"GNNHist","repo":"ren-research/lomar","repo_kind":"official","path":"policy/gnn_hist.py","file_url":"https://github.com/ren-research/lomar/blob/HEAD/policy/gnn_hist.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"16ef43417ef04fd2"}},{"code_sha256_prefix":"bb8ec591ce7c1725","entry":"MPNN","repo":"ren-research/lomar","repo_kind":"official","path":"policy/gnn_hist.py","file_url":"https://github.com/ren-research/lomar/blob/HEAD/policy/gnn_hist.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bb8ec591ce7c1725"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}