FICO
FICO Xpress Optimization Examples Repository
FICO Optimization Community FICO Xpress Optimization Home
Back to examples browserPrevious exampleNext example

Air transport

Description
Problem name and type, featuresDifficultyRelated examples
F‑1 Flight connections at a hub: Assignment problem * assignment_graph.mos, i1assign.mos, c6assign.mos
F‑2 Composing flight crews: Bipartite matching **** matching_graph.mos
2 problems, data preprocessing, incremental definition of data array, encoding of arcs, logical or (cumulative version) and and, procedure for printing solution, forall-do, max, finalize
F‑3 Scheduling flight landings: Scheduling problem with time windows ***
generalization of model to arbitrary time windows; calculation of specific BigM, forall-do
F‑4 Airline hub location: Hub location problem ***
quadruple indices; improved (re)formulation (first model not usable with student version), union of index (range) sets
F‑5 Planning a flight tour: Symmetric traveling salesman problem ***** tsp_graph.mos
loop over problem solving, TSP subtour elimination algorithm; procedure for generating additional constraints, recursive subroutine calls, working with sets, forall-do, repeat-until, getsize, not


Further explanation of this example: 'Applications of optimization with Xpress-MP', Chapter 11: Air transport

mosel_app_6.zip[download all files]

Source Files

Data Files





f5tour23.dat

! Data file for `f5tour2.mos'

CITIES: ["Bordeaux" "Brest" "Clermont-Ferrand" "Dijon" "Dunkerque" "Grenoble" "Le Havre" "Lille" "Limoges" "Lyon" "Marseille" "Montpellier" "Mulhouse" "Nancy" "Nantes" "Nice" "Orleans" "Paris" "Perpignan" "Rennes" "Strasbourg" "Toulouse" "Tours"]

DIST: [
! "Bordeaux" "Brest" "Clermont-Ferrand" "Dijon" "Dunkerque" "Grenoble" "Le Havre" "Lille" "Limoges" "Lyon" "Marseille" "Montpellier" "Mulhouse" "Nancy" "Nantes" "Nice" "Orleans" "Paris" "Perpignan" "Rennes" "Strasbourg" "Toulouse" "Tours"
("Bordeaux" "Bordeaux")           0  634 369 613  816 657  617  786 219 549  657  489  830 783  331  824 443 559  460  437  914 250 327
("Brest" "Bordeaux")            634    0 752 812  718 996  468  723 602 890 1286 1048 1024 886  305 1351 539 564 1094  245 1026 884 456
("Clermont-Ferrand" "Bordeaux") 369  752   0 280  656 261  556  613 184 180  431  367  468 472  469  620 294 382  464  507  574 832 296
("Dijon" "Bordeaux")            613  812 280   0  525 284  520  471 406 197  513  490  216 192  588  677 285 310  651  567  309 662 397
("Dunkerque" "Bordeaux")        816  718 656 525    0 836  286  79  659 731 1049 1016  632 451  592 1216 400 275 1187  520  571 965 497
("Grenoble" "Bordeaux")         657  996 261 284  836   0  776  750 472 104  286  288  447 466  711  340 493 576  449  747  505 543 536
("Le Havre" "Bordeaux")         617  468 556 520  286 776    0  284 503 676  983  950  692 511  374 1137 268 211 1028  279  651 809 290
("Lille" "Bordeaux")            786  723 613 471  79  750  284    0 599 668  979  956  567 377  593 1148 339 224 1070  515  524 905 456
("Limoges" "Bordeaux")          219  602 184 406  659 472  503  599   0 364  610  453  609 583  297  778 259 375  516  369  707 306 203
("Lyon" "Bordeaux")             549  890 180 197  731 104  676  668 364   0  316  293  341 389  607  480 402 472  454  645  434 467 432
("Marseille" "Bordeaux")        657 1286 431 513 1049 286  983  979 610 316    0  164  656 705  890  198 686 769  325  938  750 400 729
("Montpellier" "Bordeaux")      489 1048 367 490 1016 288  950  956 453 293  164    0  623 682  750  335 641 724  161  822  727 236 665
("Mulhouse" "Bordeaux")         830 1024 468 216  632 447  692  567 609 341  656  623    0 178  812  765 490 467  784  779  106 864 611
("Nancy" "Bordeaux")            783  886 472 192  451 466  511  377 583 389  705  682  178   0  674  806 376 307  843  655  140 854 492
("Nantes" "Bordeaux")           331  305 469 588  592 711  374  593 297 607  890  750  812 674    0 1068 317 386  769  106  832 559 191
("Nice" "Bordeaux")             824 1351 620 677 1216 340 1137 1148 778 480  198  335  765 806 1068    0 831 927  496 1106  842 582 877
("Orleans" "Bordeaux")          443  539 294 285  400 493  268  339 259 402  686  641  490 376  317  831   0 116  752  285  515 565 116
("Paris" "Bordeaux")            559  564 382 310  275 576  211  224 375 472  769  724  467 307  386  927 116   0  846  348  447 681 227
("Perpignan" "Bordeaux")        460 1094 464 651 1187 449 1028 1070 516 454  325  161  784 843  769  496 752 846    0  875  888 210 719
("Rennes" "Bordeaux")           437  245 507 567  520 747  279  515 369 645  938  822  779 655  106 1106 285 348  875    0  799 665 211
("Strasbourg" "Bordeaux")       914 1026 574 309  571 505  651  524 707 434  750  727  106 140  832  842 515 447  888  799    0 901 632
("Toulouse" "Bordeaux")         250  884 832 662  965 543  809  905 306 467  400  236  864 854  559  582 565 681  210  665  901   0 509
("Tours" "Bordeaux")            327  456 296 397  497 536  290  456 203 432  729  665  611 492  191  877 116 227  719  211  632 509   0]

Back to examples browserPrevious exampleNext example