# Generated by cpp11: do not edit by hand

vrpr_local_search_create <- function(pd, num_neighbours, seed, min_perturbations, max_perturbations) {
  .Call(`_vrpr_vrpr_local_search_create`, pd, num_neighbours, seed, min_perturbations, max_perturbations)
}

vrpr_local_search_run <- function(bundle, sol, ce, exhaustive, shuffle) {
  .Call(`_vrpr_vrpr_local_search_run`, bundle, sol, ce, exhaustive, shuffle)
}

vrpr_local_search_info <- function(bundle) {
  .Call(`_vrpr_vrpr_local_search_info`, bundle)
}

vrpr_problem_data_create <- function(depot_x, depot_y, depot_tw_early, depot_tw_late, depot_service, client_x, client_y, client_delivery, client_pickup, client_service, client_tw_early, client_tw_late, client_release, client_prize, client_required, veh_num_available, veh_capacity, veh_fixed_cost, veh_tw_early, veh_tw_late, veh_max_duration, veh_max_distance, veh_unit_distance_cost, veh_unit_duration_cost, veh_start_depot, veh_end_depot, veh_reload_depots, veh_max_reloads, client_group, group_members, group_required, distance, duration) {
  .Call(`_vrpr_vrpr_problem_data_create`, depot_x, depot_y, depot_tw_early, depot_tw_late, depot_service, client_x, client_y, client_delivery, client_pickup, client_service, client_tw_early, client_tw_late, client_release, client_prize, client_required, veh_num_available, veh_capacity, veh_fixed_cost, veh_tw_early, veh_tw_late, veh_max_duration, veh_max_distance, veh_unit_distance_cost, veh_unit_duration_cost, veh_start_depot, veh_end_depot, veh_reload_depots, veh_max_reloads, client_group, group_members, group_required, distance, duration)
}

vrpr_problem_data_summary <- function(ptr) {
  .Call(`_vrpr_vrpr_problem_data_summary`, ptr)
}

vrpr_cpp_standard <- function() {
  .Call(`_vrpr_vrpr_cpp_standard`)
}

vrpr_has_cxx20 <- function() {
  .Call(`_vrpr_vrpr_has_cxx20`)
}

vrpr_hello <- function() {
  .Call(`_vrpr_vrpr_hello`)
}

vrpr_rng_create <- function(seed) {
  .Call(`_vrpr_vrpr_rng_create`, seed)
}

vrpr_cost_evaluator_create <- function(load_penalties, tw_penalty, dist_penalty) {
  .Call(`_vrpr_vrpr_cost_evaluator_create`, load_penalties, tw_penalty, dist_penalty)
}

vrpr_solution_from_routes <- function(pd, routes) {
  .Call(`_vrpr_vrpr_solution_from_routes`, pd, routes)
}

vrpr_solution_random <- function(pd, rng) {
  .Call(`_vrpr_vrpr_solution_random`, pd, rng)
}

vrpr_solution_summary <- function(ptr) {
  .Call(`_vrpr_vrpr_solution_summary`, ptr)
}

vrpr_solution_routes <- function(ptr, num_depots) {
  .Call(`_vrpr_vrpr_solution_routes`, ptr, num_depots)
}

vrpr_penalised_cost <- function(ce, sol) {
  .Call(`_vrpr_vrpr_penalised_cost`, ce, sol)
}
