Ian G. McHale

13 papers Journal 13
YearRankTypeTitle / Venue / Authors
2024 J jnl
Eur. J. Oper. Res.
Benjamin Holmes, Ian G. McHale, Kamila Zychaluk
2024 J jnl
J. Oper. Res. Soc.
Fotios Petropoulos, Gilbert Laporte, Emel Aktas, Sibel A. Alumur, Claudia Archetti, Hayriye Ayhan, Maria Battarra, Julia A. Bennell, Jean-Marie Bourjolly, John E. Boylan, Michèle Breton, David Canca, Laurent Charlin, Bo Chen, Cihan Tugrul Cicek, Louis Anthony Cox, Christine S. M. Currie, Erik Demeulemeester, Li Ding, Stephen M. Disney, Matthias Ehrgott, Martin J. Eppler, Günes Erdogan, Bernard Fortz, L. Alberto Franco, Jens Frische, Salvatore Greco, Amanda J. Gregory, Raimo P. Hämäläinen, Willy Herroelen, Mike Hewitt, Jan Holmström, John N. Hooker, Tugçe Isik, Jill Johnes, Bahar Yetis Kara, Özlem Karsu, Katherine Kent, Charlotte Köhler, Martin H. Kunc, Yong-Hong Kuo, Adam N. Letchford, Janny Leung, Dong Li, Haitao Li, Judit Lienert, Ivana Ljubic, Andrea Lodi, Sebastián Lozano, Virginie Lurkin, Silvano Martello, Ian G. McHale, Gerald Midgley, John D. W. Morecroft, Akshay Mutha, Ceyda Oguz, Sanja Petrovic, Ulrich Pferschy, Harilaos N. Psaraftis, Sam Rose, Lauri Saarinen, Saïd Salhi, Jing-Sheng Song, Dimitrios Sotiros, Kathryn E. Stecke, Arne K. Strauss, Istenç Tarhan, Clemens Thielen, Paolo Toth, Tom Van Woensel, Greet Vanden Berghe, Christos Vasilakis, Vikrant Vaze, Daniele Vigo, Kai Virtanen, Xun Wang, Rafal Weron, Leroy White, Mike Yearworth, E. Alper Yildirim, Georges Zaccour, Xuying Zhao
2023 J jnl
Eur. J. Oper. Res.
Ian G. McHale, Benjamin Holmes
2022 J jnl
Eur. J. Oper. Res.
Babatunde Buraimo, David Forrest, Ian G. McHale, Juan de Dios Tena
2020 J jnl
Eur. J. Oper. Res.
Tarak Kharrat, Ian G. McHale, Javier López Peña
2019 J jnl
Eur. J. Oper. Res.
Philip A. Scarf, Rishikesh Parma, Ian G. McHale
2018 J jnl
Eur. J. Oper. Res.
Ian G. McHale, Samuel D. Relton
2018 J jnl
Eur. J. Oper. Res.
Rose D. Baker, Ian G. McHale
2017 J jnl
Eur. J. Oper. Res.
Rose D. Baker, Ian G. McHale
2014 J jnl
Eur. J. Oper. Res.
Rose D. Baker, Ian G. McHale
2013 J jnl
Eur. J. Oper. Res.
Ian G. McHale, Muhammad Asif
2013 J jnl
Decis. Anal.
Rose D. Baker, Ian G. McHale
2012 J jnl
Interfaces
Ian G. McHale, Philip A. Scarf, David E. Folker
test_files/rich_header.py
← Index test_files/rich_header.py python
# from https://github.com/dishather/richprint/blob/master/comp_id.txt
# adapted from mirar's implementations for
# https://www.sweetscape.com/010editor/repository/files/EXE.bt
def get_rich_idVersion(idVersion):
    if idVersion == 0x00010000:
        return "[---] Unmarked objects"
    elif idVersion == 0x00000000:
        return "[---] Unmarked objects (old)"
    elif idVersion == 0x01046B74:
        return "[ C ] VS2019 v16.0.0 build 27508"
    elif idVersion == 0x01036B74:
        return "[ASM] VS2019 v16.0.0 build 27508"
    elif idVersion == 0x01056B74:
        return "[C++] VS2019 v16.0.0 build 27508"
    elif idVersion == 0x00FF6B74:
        return "[RES] VS2019 v16.0.0 build 27508"
    elif idVersion == 0x01026B74:
        return "[LNK] VS2019 v16.0.0 build 27508"
    elif idVersion == 0x01006B74:
        return "[EXP] VS2019 v16.0.0 build 27508"
    elif idVersion == 0x01016B74:
        return "[IMP] VS2019 v16.0.0 build 27508"
    elif idVersion == 0x010464EA:
        return "[ C ] VS2017 v15.5.4 build 25834"
    elif idVersion == 0x010364EA:
        return "[ASM] VS2017 v15.5.4 build 25834"
    elif idVersion == 0x010564EA:
        return "[C++] VS2017 v15.5.4 build 25834"
    elif idVersion == 0x00FF64EA:
        return "[RES] VS2017 v15.5.4 build 25834"
    elif idVersion == 0x010264EA:
        return "[LNK] VS2017 v15.5.4 build 25834"
    elif idVersion == 0x010064EA:
        return "[EXP] VS2017 v15.5.4 build 25834"
    elif idVersion == 0x010164EA:
        return "[IMP] VS2017 v15.5.4 build 25834"
    elif idVersion == 0x01045E97:
        return "[ C ] VS2015 UPD3.1 build 24215"
    elif idVersion == 0x01055E97:
        return "[C++] VS2015 UPD3.1 build 24215"
    elif idVersion == 0x01025E97:
        return "[LNK] VS2015 UPD3.1 build 24215"
    elif idVersion == 0x01005E97:
        return "[EXP] VS2015 UPD3.1 build 24215"
    elif idVersion == 0x01015E97:
        return "[IMP] VS2015 UPD3.1 build 24215"
    elif idVersion == 0x01045E95:
        return "[ C ] VS2015 UPD3 build 24213"
    elif idVersion == 0x01035E92:
        return "[ASM] VS2015 UPD3 build 24210"
    elif idVersion == 0x01055E95:
        return "[C++] VS2015 UPD3 build 24213"
    elif idVersion == 0x00FF5E92:
        return "[RES] VS2015 UPD3 build 24210"
    elif idVersion == 0x01025E95:
        return "[LNK] VS2015 UPD3 build 24213"
    elif idVersion == 0x01005E95:
        return "[EXP] VS2015 UPD3 build 24213"
    elif idVersion == 0x01015E95:
        return "[IMP] VS2015 UPD3 build 24213"
    elif idVersion == 0x01045D6E:
        return "[ C ] VS2015 UPD2 build 23918"
    elif idVersion == 0x01035D6E:
        return "[ASM] VS2015 UPD2 build 23918"
    elif idVersion == 0x01055D6E:
        return "[C++] VS2015 UPD2 build 23918"
    elif idVersion == 0x00FF5D6E:
        return "[RES] VS2015 UPD2 build 23918"
    elif idVersion == 0x01025D6E:
        return "[LNK] VS2015 UPD2 build 23918"
    elif idVersion == 0x01005D6E:
        return "[EXP] VS2015 UPD2 build 23918"
    elif idVersion == 0x01015D6E:
        return "[IMP] VS2015 UPD2 build 23918"
    elif idVersion == 0x01045BD2:
        return "[ C ] VS2015 UPD1 build 23506"
    elif idVersion == 0x01035BD2:
        return "[ASM] VS2015 UPD1 build 23506"
    elif idVersion == 0x01055BD2:
        return "[C++] VS2015 UPD1 build 23506"
    elif idVersion == 0x00FF5BD2:
        return "[RES] VS2015 UPD1 build 23506"
    elif idVersion == 0x01025BD2:
        return "[LNK] VS2015 UPD1 build 23506"
    elif idVersion == 0x01005BD2:
        return "[EXP] VS2015 UPD1 build 23506"
    elif idVersion == 0x01015BD2:
        return "[IMP] VS2015 UPD1 build 23506"
    elif idVersion == 0x010459F2:
        return "[ C ] VS2015 build 23026"
    elif idVersion == 0x010359F2:
        return "[ASM] VS2015 build 23026"
    elif idVersion == 0x010559F2:
        return "[C++] VS2015 build 23026"
    elif idVersion == 0x00FF59F2:
        return "[RES] VS2015 build 23026"
    elif idVersion == 0x010259F2:
        return "[LNK] VS2015 build 23026"
    elif idVersion == 0x010059F2:
        return "[EXP] VS2015 build 23026"
    elif idVersion == 0x010159F2:
        return "[IMP] VS2015 build 23026"
    elif idVersion == 0x00E09EB5:
        return "[ C ] VS2013 UPD5 build 40629"
    elif idVersion == 0x00E19EB5:
        return "[C++] VS2013 UPD5 build 40629"
    elif idVersion == 0x00DE9EB5:
        return "[LNK] VS2013 UPD5 build 40629"
    elif idVersion == 0x00DC9EB5:
        return "[EXP] VS2013 UPD5 build 40629"
    elif idVersion == 0x00DD9EB5:
        return "[IMP] VS2013 UPD5 build 40629"
    elif idVersion == 0x00DF9EB5:
        return "[ASM] VS2013 UPD5 build 40629"
    elif idVersion == 0x00E0797D:
        return "[ C ] VS2013 UPD4 build 31101"
    elif idVersion == 0x00E1797D:
        return "[C++] VS2013 UPD4 build 31101"
    elif idVersion == 0x00DE797D:
        return "[LNK] VS2013 UPD4 build 31101"
    elif idVersion == 0x00DC797D:
        return "[EXP] VS2013 UPD4 build 31101"
    elif idVersion == 0x00DD797D:
        return "[IMP] VS2013 UPD4 build 31101"
    elif idVersion == 0x00DF797D:
        return "[ASM] VS2013 UPD4 build 31101"
    elif idVersion == 0x00E07803:
        return "[ C ] VS2013 UPD3 build 30723"
    elif idVersion == 0x00E17803:
        return "[C++] VS2013 UPD3 build 30723"
    elif idVersion == 0x00DE7803:
        return "[LNK] VS2013 UPD3 build 30723"
    elif idVersion == 0x00DC7803:
        return "[EXP] VS2013 UPD3 build 30723"
    elif idVersion == 0x00DD7803:
        return "[IMP] VS2013 UPD3 build 30723"
    elif idVersion == 0x00DF7803:
        return "[ASM] VS2013 UPD3 build 30723"
    elif idVersion == 0x00E07725:
        return "[ C ] VS2013 UPD2 build 30501"
    elif idVersion == 0x00E17725:
        return "[C++] VS2013 UPD2 build 30501"
    elif idVersion == 0x00DE7725:
        return "[LNK] VS2013 UPD2 build 30501"
    elif idVersion == 0x00DC7725:
        return "[EXP] VS2013 UPD2 build 30501"
    elif idVersion == 0x00DD7725:
        return "[IMP] VS2013 UPD2 build 30501"
    elif idVersion == 0x00DF7725:
        return "[ASM] VS2013 UPD2 build 30501"
    elif idVersion == 0x00E0520D:
        return "[ C ] VS2013 build 21005"
    elif idVersion == 0x00E1520D:
        return "[C++] VS2013 build 21005"
    elif idVersion == 0x00DB520D:
        return "[RES] VS2013 build 21005"
    elif idVersion == 0x00DE520D:
        return "[LNK] VS2013 build 21005"
    elif idVersion == 0x00DC520D:
        return "[EXP] VS2013 build 21005"
    elif idVersion == 0x00DD520D:
        return "[IMP] VS2013 build 21005"
    elif idVersion == 0x00DF520D:
        return "[ASM] VS2013 build 21005"
    elif idVersion == 0x00CEEE66:
        return "[ C ] VS2012 UPD4 build 61030"
    elif idVersion == 0x00CFEE66:
        return "[C++] VS2012 UPD4 build 61030"
    elif idVersion == 0x00CDEE66:
        return "[ASM] VS2012 UPD4 build 61030"
    elif idVersion == 0x00C9EE66:
        return "[RES] VS2012 UPD4 build 61030"
    elif idVersion == 0x00CCEE66:
        return "[LNK] VS2012 UPD4 build 61030"
    elif idVersion == 0x00CAEE66:
        return "[EXP] VS2012 UPD4 build 61030"
    elif idVersion == 0x00CBEE66:
        return "[IMP] VS2012 UPD4 build 61030"
    elif idVersion == 0x00CEECC2:
        return "[ C ] VS2012 UPD3 build 60610"
    elif idVersion == 0x00CFECC2:
        return "[C++] VS2012 UPD3 build 60610"
    elif idVersion == 0x00CDECC2:
        return "[ASM] VS2012 UPD3 build 60610"
    elif idVersion == 0x00C9ECC2:
        return "[RES] VS2012 UPD3 build 60610"
    elif idVersion == 0x00CCECC2:
        return "[LNK] VS2012 UPD3 build 60610"
    elif idVersion == 0x00CAECC2:
        return "[EXP] VS2012 UPD3 build 60610"
    elif idVersion == 0x00CBECC2:
        return "[IMP] VS2012 UPD3 build 60610"
    elif idVersion == 0x00CEEB9B:
        return "[ C ] VS2012 UPD2 build 60315"
    elif idVersion == 0x00CFEB9B:
        return "[C++] VS2012 UPD2 build 60315"
    elif idVersion == 0x00CDEB9B:
        return "[ASM] VS2012 UPD2 build 60315"
    elif idVersion == 0x00C9EB9B:
        return "[RES] VS2012 UPD2 build 60315"
    elif idVersion == 0x00CCEB9B:
        return "[LNK] VS2012 UPD2 build 60315"
    elif idVersion == 0x00CAEB9B:
        return "[EXP] VS2012 UPD2 build 60315"
    elif idVersion == 0x00CBEB9B:
        return "[IMP] VS2012 UPD2 build 60315"
    elif idVersion == 0x00CEC7A2:
        return "[ C ] VS2012 UPD1 build 51106"
    elif idVersion == 0x00CFC7A2:
        return "[C++] VS2012 UPD1 build 51106"
    elif idVersion == 0x00CDC7A2:
        return "[ASM] VS2012 UPD1 build 51106"
    elif idVersion == 0x00C9C7A2:
        return "[RES] VS2012 UPD1 build 51106"
    elif idVersion == 0x00CCC7A2:
        return "[LNK] VS2012 UPD1 build 51106"
    elif idVersion == 0x00CAC7A2:
        return "[EXP] VS2012 UPD1 build 51106"
    elif idVersion == 0x00CBC7A2:
        return "[IMP] VS2012 UPD1 build 51106"
    elif idVersion == 0x00CEC627:
        return "[ C ] VS2012 build 50727"
    elif idVersion == 0x00CFC627:
        return "[C++] VS2012 build 50727"
    elif idVersion == 0x00C9C627:
        return "[RES] VS2012 build 50727"
    elif idVersion == 0x00CDC627:
        return "[ASM] VS2012 build 50727"
    elif idVersion == 0x00CAC627:
        return "[EXP] VS2012 build 50727"
    elif idVersion == 0x00CBC627:
        return "[IMP] VS2012 build 50727"
    elif idVersion == 0x00CCC627:
        return "[LNK] VS2012 build 50727"
    elif idVersion == 0x00AA9D1B:
        return "[ C ] VS2010 SP1 build 40219"
    elif idVersion == 0x00AB9D1B:
        return "[C++] VS2010 SP1 build 40219"
    elif idVersion == 0x009D9D1B:
        return "[LNK] VS2010 SP1 build 40219"
    elif idVersion == 0x009A9D1B:
        return "[RES] VS2010 SP1 build 40219"
    elif idVersion == 0x009B9D1B:
        return "[EXP] VS2010 SP1 build 40219"
    elif idVersion == 0x009C9D1B:
        return "[IMP] VS2010 SP1 build 40219"
    elif idVersion == 0x009E9D1B:
        return "[ASM] VS2010 SP1 build 40219"
    elif idVersion == 0x00AA766F:
        return "[ C ] VS2010 build 30319"
    elif idVersion == 0x00AB766F:
        return "[C++] VS2010 build 30319"
    elif idVersion == 0x009D766F:
        return "[LNK] VS2010 build 30319"
    elif idVersion == 0x009A766F:
        return "[RES] VS2010 build 30319"
    elif idVersion == 0x009B766F:
        return "[EXP] VS2010 build 30319"
    elif idVersion == 0x009C766F:
        return "[IMP] VS2010 build 30319"
    elif idVersion == 0x009E766F:
        return "[ASM] VS2010 build 30319"
    elif idVersion == 0x00837809:
        return "[ C ] VS2008 SP1 build 30729"
    elif idVersion == 0x00847809:
        return "[C++] VS2008 SP1 build 30729"
    elif idVersion == 0x00957809:
        return "[ASM] VS2008 SP1 build 30729"
    elif idVersion == 0x00927809:
        return "[EXP] VS2008 SP1 build 30729"
    elif idVersion == 0x00937809:
        return "[IMP] VS2008 SP1 build 30729"
    elif idVersion == 0x00917809:
        return "[LNK] VS2008 SP1 build 30729"
    elif idVersion == 0x0083521E:
        return "[ C ] VS2008 build 21022"
    elif idVersion == 0x0084521E:
        return "[C++] VS2008 build 21022"
    elif idVersion == 0x0091521E:
        return "[LNK] VS2008 build 21022"
    elif idVersion == 0x0094521E:
        return "[RES] VS2008 build 21022"
    elif idVersion == 0x0092521E:
        return "[EXP] VS2008 build 21022"
    elif idVersion == 0x0093521E:
        return "[IMP] VS2008 build 21022"
    elif idVersion == 0x0095521E:
        return "[ASM] VS2008 build 21022"
    elif idVersion == 0x006DC627:
        return "[ C ] VS2005 build 50727"
    elif idVersion == 0x006EC627:
        return "[C++] VS2005 build 50727"
    elif idVersion == 0x0078C627:
        return "[LNK] VS2005 build 50727"
    elif idVersion == 0x007CC627:
        return "[RES] VS2005 build 50727"
    elif idVersion == 0x007AC627:
        return "[EXP] VS2005 build 50727"
    elif idVersion == 0x007BC627:
        return "[IMP] VS2005 build 50727"
    elif idVersion == 0x007DC627:
        return "[ASM] VS2005 build 50727"
    elif idVersion == 0x005F178E:
        return "[ C ] VS2003 (.NET) SP1 build 6030"
    elif idVersion == 0x0060178E:
        return "[C++] VS2003 (.NET) SP1 build 6030"
    elif idVersion == 0x005A178E:
        return "[LNK] VS2003 (.NET) SP1 build 6030"
    elif idVersion == 0x000F178E:
        return "[ASM] VS2003 (.NET) SP1 build 6030"
    elif idVersion == 0x005C178E:
        return "[EXP] VS2003 (.NET) SP1 build 6030"
    elif idVersion == 0x005D178E:
        return "[IMP] VS2003 (.NET) SP1 build 6030"
    elif idVersion == 0x005F0C05:
        return "[ C ] VS2003 (.NET) build 3077"
    elif idVersion == 0x00600C05:
        return "[C++] VS2003 (.NET) build 3077"
    elif idVersion == 0x000F0C05:
        return "[ASM] VS2003 (.NET) build 3077"
    elif idVersion == 0x005E0BEC:
        return "[RES] VS2003 (.NET) build 3052"
    elif idVersion == 0x005C0C05:
        return "[EXP] VS2003 (.NET) build 3077"
    elif idVersion == 0x005D0C05:
        return "[IMP] VS2003 (.NET) build 3077"
    elif idVersion == 0x005A0C05:
        return "[LNK] VS2003 (.NET) build 3077"
    elif idVersion == 0x001C24FA:
        return "[ C ] VS2002 (.NET) build 9466"
    elif idVersion == 0x001D24FA:
        return "[C++] VS2002 (.NET) build 9466"
    elif idVersion == 0x004024FA:
        return "[ASM] VS2002 (.NET) build 9466"
    elif idVersion == 0x003D24FA:
        return "[LNK] VS2002 (.NET) build 9466"
    elif idVersion == 0x004524FA:
        return "[RES] VS2002 (.NET) build 9466"
    elif idVersion == 0x003F24FA:
        return "[EXP] VS2002 (.NET) build 9466"
    elif idVersion == 0x001924FA:
        return "[IMP] VS2002 (.NET) build 9466"
    elif idVersion == 0x000A2636:
        return "[ C ] VS98 (6.0) SP6 build 8804"
    elif idVersion == 0x000B2636:
        return "[C++] VS98 (6.0) SP6 build 8804"
    elif idVersion == 0x00152306:
        return "[ C ] VC++ 6.0 SP5 build 8804"
    elif idVersion == 0x00162306:
        return "[C++] VC++ 6.0 SP5 build 8804"
    elif idVersion == 0x000420FF:
        return "[LNK] VC++ 6.0 SP5 imp/exp build 8447"
    elif idVersion == 0x000606C7:
        return "[RES] VS98 (6.0) SP6 cvtres build 1736"
    elif idVersion == 0x000A1FE8:
        return "[ C ] VS98 (6.0) build 8168"
    elif idVersion == 0x000B1FE8:
        return "[C++] VS98 (6.0) build 8168"
    elif idVersion == 0x000606B8:
        return "[RES] VS98 (6.0) cvtres build 1720"
    elif idVersion == 0x00041FE8:
        return "[LNK] VS98 (6.0) imp/exp build 8168"
    elif idVersion == 0x00060684:
        return "[RES] VS97 (5.0) SP3 cvtres 5.00.1668"
    elif idVersion == 0x00021C87:
        return "[IMP] VS97 (5.0) SP3 link 5.10.7303"
    else:
        id_ = idVersion >> 0x10
        version = idVersion & 0xFFFF
        s = "id: " + str(id_) + ", version: " + str(version)
        return s