{
  "_id": "6a212985cd65a98ecbd222fd",
  "Package": "multiobjectiveMDP",
  "Title": "Solution Methods for Multi-Objective Markov Decision Processes",
  "Version": "1.0.0",
  "Authors@R": "person(\"Anas\", \"Mifrani\", , \"anas.mifrani@math.univ-toulouse.fr\", role = c(\"aut\", \"cre\", \"cph\"), comment = c(ORCID = \"0009-0005-1373-9028\"))",
  "Description": "Compendium of the most representative algorithms in\nprint---vector-valued dynamic programming, linear programming,\npolicy iteration, the weighting factor approach---for solving\nmulti-objective Markov decision processes, with or without\nreward discount, over a finite or infinite horizon. Mifrani, A.\n(2024) <doi:10.1007/s10479-024-06439-x>; Mifrani, A. & Noll, D.\n<doi:10.48550/arXiv.2502.13697>; Wakuta, K. (1995)\n<doi:10.1016/0304-4149(94)00064-Z>.",
  "License": "GPL-3",
  "Encoding": "UTF-8",
  "RoxygenNote": "7.1.2",
  "VignetteBuilder": "knitr",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-04 07:27:05 UTC",
    "User": "root"
  },
  "Author": "Anas Mifrani [aut, cre, cph] (ORCID:\n<https://orcid.org/0009-0005-1373-9028>)",
  "Maintainer": "Anas Mifrani <anas.mifrani@math.univ-toulouse.fr>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-03-06 19:06:38 UTC",
  "RemoteUrl": "https://github.com/cran/multiobjectiveMDP",
  "RemoteRef": "HEAD",
  "RemoteSha": "09555c16fb6e4c3371d757ad6d07f6f0b307bc23",
  "MD5sum": "6fb8a5afebe112229236ba5875d331b7",
  "_user": "cran",
  "_type": "src",
  "_file": "multiobjectiveMDP_1.0.0.tar.gz",
  "_fileid": "d0d1bb36825cd3ac13465676f290b1f30d6283a8aec78ff7ca959f9ba8aa8070",
  "_filesize": 337266,
  "_sha256": "d0d1bb36825cd3ac13465676f290b1f30d6283a8aec78ff7ca959f9ba8aa8070",
  "_created": "2026-06-04T07:27:05.000Z",
  "_published": "2026-06-04T07:30:13.772Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79470331247,
      "time": 148,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7405514694"
    },
    {
      "job": 79470331255,
      "time": 149,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7405515036"
    },
    {
      "job": 79469919758,
      "time": 174,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7405471514"
    },
    {
      "job": 79470331235,
      "time": 114,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7405504902"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/26937254299",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/cran/multiobjectiveMDP",
  "_commit": {
    "id": "09555c16fb6e4c3371d757ad6d07f6f0b307bc23",
    "author": "Anas Mifrani <anas.mifrani@math.univ-toulouse.fr>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 1.0.0\n",
    "time": 1772823998
  },
  "_maintainer": {
    "name": "Anas Mifrani",
    "email": "anas.mifrani@math.univ-toulouse.fr"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "linprog",
      "role": "Imports"
    },
    {
      "package": "lintools",
      "role": "Imports"
    },
    {
      "package": "nsga2R",
      "role": "Imports"
    },
    {
      "package": "pracma",
      "role": "Imports"
    },
    {
      "package": "prodlim",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-10",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "1.0.0",
      "date": "2026-03-06"
    }
  ],
  "_stars": 0,
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 104,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/multiobjectiveMDP"
  },
  "_searchresults": 0,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/multiobjectiveMDP.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "manual.pdf"
  ],
  "_realowner": "cran",
  "_cranurl": false,
  "_releases": [
    {
      "version": "1.0.0",
      "date": "2026-03-06"
    }
  ],
  "_exports": [
    "are_valid_finite_horizon_rewards",
    "are_valid_finite_horizon_transition_probabilities",
    "are_valid_infinite_horizon_rewards",
    "are_valid_infinite_horizon_transition_probabilities",
    "compromise_solution",
    "discounted_bellman_operator",
    "efficient_subset_sort_prune",
    "evaluate_discounted_MMDP_pure_policy",
    "evaluate_finite_horizon_MMDP_markov_policy",
    "generate_rand_MMDP",
    "is_valid_finite_horizon_policy",
    "is_valid_infinite_horizon_policy",
    "solve_discounted_MDP_policy_iteration",
    "solve_discounted_MMDP_linear_programming",
    "solve_discounted_MMDP_policy_iteration",
    "solve_discounted_MMDP_weighting_factor",
    "solve_finite_horizon_MDP_backward_induction",
    "solve_finite_horizon_MMDP_backward_induction",
    "solve_finite_horizon_MMDP_linear_programming",
    "solve_finite_horizon_MMDP_weighting_factor",
    "solve_MOLP",
    "sum_set",
    "value_function_domination_sets"
  ],
  "_help": [
    {
      "page": "are_valid_finite_horizon_rewards",
      "title": "Determine whether a numeric list represents a valid reward structure for finite-horizon problems",
      "topics": [
        "are_valid_finite_horizon_rewards"
      ]
    },
    {
      "page": "are_valid_finite_horizon_transition_probabilities",
      "title": "Determine whether a numeric list represents a valid transition probability structure for finite-horizon problems",
      "topics": [
        "are_valid_finite_horizon_transition_probabilities"
      ]
    },
    {
      "page": "are_valid_infinite_horizon_rewards",
      "title": "Determine whether a numeric list represents a valid reward structure for infinite-horizon problems",
      "topics": [
        "are_valid_infinite_horizon_rewards"
      ]
    },
    {
      "page": "are_valid_infinite_horizon_transition_probabilities",
      "title": "Determine whether a numeric list represents a valid transition probability structure for infinite-horizon problems",
      "topics": [
        "are_valid_infinite_horizon_transition_probabilities"
      ]
    },
    {
      "page": "compromise_solution",
      "title": "Calculate the compromise solution among a set of objective vectors",
      "topics": [
        "compromise_solution"
      ]
    },
    {
      "page": "discounted_bellman_operator",
      "title": "Apply a stationary Bellman-type operator to a vector-valued value function",
      "topics": [
        "discounted_bellman_operator"
      ]
    },
    {
      "page": "efficient_subset_sort_prune",
      "title": "Find the Pareto efficient subset of a set of vectors",
      "topics": [
        "efficient_subset_sort_prune"
      ]
    },
    {
      "page": "evaluate_discounted_MMDP_pure_policy",
      "title": "Evaluate a stationary policy in a discounted infinite-horizon multi-objective Markov decision process",
      "topics": [
        "evaluate_discounted_MMDP_pure_policy"
      ]
    },
    {
      "page": "evaluate_finite_horizon_MMDP_markov_policy",
      "title": "Evaluate a Markov deterministic policy for a finite-horizon multi-objective Markov decision process",
      "topics": [
        "evaluate_finite_horizon_MMDP_markov_policy"
      ]
    },
    {
      "page": "generate_rand_MMDP",
      "title": "Generate a random instance of a multi-objective Markov decision process",
      "topics": [
        "generate_rand_MMDP"
      ]
    },
    {
      "page": "is_valid_finite_horizon_policy",
      "title": "Determine whether an integer matrix represents a policy for a given class of finite-horizon problems",
      "topics": [
        "is_valid_finite_horizon_policy"
      ]
    },
    {
      "page": "is_valid_infinite_horizon_policy",
      "title": "Determine whether an integer vector represents a stationary policy for a given class of infinite-horizon problems",
      "topics": [
        "is_valid_infinite_horizon_policy"
      ]
    },
    {
      "page": "solve_discounted_MDP_policy_iteration",
      "title": "Optimize a discounted infinite-horizon Markov decision process through policy iteration",
      "topics": [
        "solve_discounted_MDP_policy_iteration"
      ]
    },
    {
      "page": "solve_discounted_MMDP_linear_programming",
      "title": "Optimize a discounted infinite-horizon multi-objective Markov decision process through linear programming",
      "topics": [
        "solve_discounted_MMDP_linear_programming"
      ]
    },
    {
      "page": "solve_discounted_MMDP_policy_iteration",
      "title": "Optimize a discounted infinite-horizon multi-objective Markov decision process through policy iteration",
      "topics": [
        "solve_discounted_MMDP_policy_iteration"
      ]
    },
    {
      "page": "solve_discounted_MMDP_weighting_factor",
      "title": "Optimize a discounted infinite-horizon multi-objective Markov decision process through the weighting factor approach",
      "topics": [
        "solve_discounted_MMDP_weighting_factor"
      ]
    },
    {
      "page": "solve_finite_horizon_MDP_backward_induction",
      "title": "Solve a standard finite-horizon Markov decision process through dynamic programming",
      "topics": [
        "solve_finite_horizon_MDP_backward_induction"
      ]
    },
    {
      "page": "solve_finite_horizon_MMDP_backward_induction",
      "title": "Optimize a finite-horizon multi-objective Markov decision process through vector-valued dynamic programming",
      "topics": [
        "solve_finite_horizon_MMDP_backward_induction"
      ]
    },
    {
      "page": "solve_finite_horizon_MMDP_linear_programming",
      "title": "Optimize a finite-horizon multi-objective Markov decision process through linear programming",
      "topics": [
        "solve_finite_horizon_MMDP_linear_programming"
      ]
    },
    {
      "page": "solve_finite_horizon_MMDP_weighting_factor",
      "title": "Optimize a finite-horizon multi-objective Markov decision process through the weighting factor approach",
      "topics": [
        "solve_finite_horizon_MMDP_weighting_factor"
      ]
    },
    {
      "page": "solve_MOLP",
      "title": "Solve a multi-objective linear programming problem by a simplex-type method",
      "topics": [
        "solve_MOLP"
      ]
    },
    {
      "page": "sum_set",
      "title": "Calculate the sum set (Minkowski sum) of two or more sets of vectors",
      "topics": [
        "sum_set"
      ]
    },
    {
      "page": "value_function_domination_sets",
      "title": "Compare two or more vector-valued value functions",
      "topics": [
        "value_function_domination_sets"
      ]
    }
  ],
  "_rundeps": [
    "cli",
    "codetools",
    "cpp11",
    "data.table",
    "diagram",
    "digest",
    "dplyr",
    "farver",
    "future",
    "future.apply",
    "generics",
    "ggplot2",
    "globals",
    "glue",
    "gtable",
    "isoband",
    "KernSmooth",
    "labeling",
    "lattice",
    "lava",
    "lifecycle",
    "linprog",
    "lintools",
    "listenv",
    "lpSolve",
    "magrittr",
    "Matrix",
    "mco",
    "nsga2R",
    "numDeriv",
    "parallelly",
    "pillar",
    "pkgconfig",
    "pracma",
    "prodlim",
    "progressr",
    "R6",
    "RColorBrewer",
    "Rcpp",
    "rlang",
    "S7",
    "scales",
    "shape",
    "SQUAREM",
    "survival",
    "tibble",
    "tidyselect",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "Introduction-to-multiobjectiveMDP.Rmd",
      "filename": "Introduction-to-multiobjectiveMDP.html",
      "title": "Introduction to multiobjectiveMDP",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Multi-objective Markov decision processes",
        "Transition probabilities and rewards",
        "Decision rules and policies",
        "Value functions and preference patterns",
        "An example",
        "References"
      ],
      "created": "2026-03-06 19:06:38",
      "modified": "2026-03-06 19:06:38",
      "commits": 1
    }
  ],
  "_score": 2,
  "_indexed": true,
  "_nocasepkg": "multiobjectivemdp",
  "_universes": [
    "cran"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.0",
      "date": "2026-06-04T07:29:15.000Z",
      "distro": "noble",
      "commit": "09555c16fb6e4c3371d757ad6d07f6f0b307bc23",
      "fileid": "c67f7883dd4ec0b590be771d77364985d6166282b02c38f0f026956ad82162ef",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/26937254299"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.0.0",
      "date": "2026-06-04T07:29:13.000Z",
      "distro": "noble",
      "commit": "09555c16fb6e4c3371d757ad6d07f6f0b307bc23",
      "fileid": "1ae674f5bb84f24d28f2331df7acacbac63d8db00a93ad6de841274cb0e4b426",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/26937254299"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.0",
      "date": "2026-06-04T07:29:19.000Z",
      "commit": "09555c16fb6e4c3371d757ad6d07f6f0b307bc23",
      "fileid": "d947aa42b43f0fc315199962f658667149bb1b6ca1e2462c27947fe1dac14065",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/26937254299"
    }
  ]
}