## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  message = FALSE,
  warning = FALSE
)

library(minimaxALT)

## ----design-info--------------------------------------------------------------
design_info <- set_design_info(
    k_levels=2, 
    j_factor=1, 
    n_unit=300, 
    censor_time=183, 
    p=0.1, 
    use_cond=0, 
    sigma=0.6
)

print(design_info)

## ----pso-info-----------------------------------------------------------------
pso_info <- pso_setting(
  n_swarm = 10,
  max_iter = 20,
  early_stopping = 10,
  tol = 0.0001,
  c1 = 2.05,
  c2 = 2.05,
  w0 = 1.2,
  w1 = 0.2,
  w_var = 0.8,
  vk = 4
)

print(pso_info)

## ----init-values--------------------------------------------------------------
init_swarm <- matrix(runif(10 * 3, min = 0, max = 1), nrow = 10, ncol = 3)
init_coef_mat <- rbind(
    c(1.01*10^-6, 0.999),
    c(9.99*10^-4, 0.999),
    c(1.01*10^-6, 0.701),
    c(9.99*10^-4, 0.701)
)

init_values <- initialize_values(
    init_swarm=init_swarm,
    init_coef_mat=init_coef_mat
)

print(init_values)

## ----minimax-alt--------------------------------------------------------------
optimal_design <- find_optimal_alt(
    design_type="locally", 
    distribution="lognormal", 
    design_info=design_info, 
    pso_info=pso_info,
    coef = c(0.001, 0.9),
    highest_level = TRUE,
    verbose = FALSE
)

print(optimal_design)

## ----minimax-alt-summary------------------------------------------------------
summary(optimal_design)

## ----optimal-alt-plot---------------------------------------------------------
plot(optimal_design)

