Instantly share code, notes, and snippets.

👶
I may be slow to respond.

# Dirk Schumacher dirkschumacher

👶
I may be slow to respond.
Created July 13, 2022 18:51
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
 # if this produced a valid tree quote(a <= b <= c) # then we could do add_constraint(lower[i] <= X[i] <= upper[i], i = 1:n) # instead of add_constraint(X[i] <= upper[i], i = 1:n) add_constraint(lower[i] <= X[i], i = 1:n)
Last active February 8, 2022 09:24

# Draft: Applied Mixed Integer Linear Programming for Beginners

## Format preferences

• virtual, morning hours Nashville, Tennessee time, as I am based in Berlin, 2 - 3 hours

• English

## The title of the tutorial

• Applied Mixed Integer Linear Programming for Beginners

## The broad topic it covers

• Discrete optimization, operations research
Created October 30, 2021 21:36
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
 # let's construct some byte code # x <- 42 # y <- x + 42 bcode <- .Internal(mkCode( c( 12L, # this is an identifier which byte-code version you use (I think) # each line is an operator, the first item is the operator, followed by operands (aka. arguments) 16L, 0L, # Operator "LDCONST" (load constant) from the index 1 in the constant pool # now value 1 is on the stack 22L, 1L, # Operator "SETVAR" (set variable) assign the last value on the stack to the name at index 2
Last active October 20, 2021 17:18
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
 # License GPL 2 library(armacmp) # from the R docs of optim fr <- function(x) { ## Rosenbrock Banana function x1 <- x[1] x2 <- x[2] return(100 * (x2 - x1 * x1)^2 + (1 - x1)^2) } grr <- function(x = type_colvec()) { ## Gradient of 'fr'
Last active January 30, 2021 11:16
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
 # Let's build this expression by hand # val <- 0 # if (this) { # val <- 1 # } constant_pool <- list( NULL, as.symbol("val"), # we need a symbol val as.symbol("this"), # we also need a symbol this, 0, 1 # next we need the two values 0 and 1
Created December 14, 2020 15:35
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
 input <- readLines("path/to/input") input <- as.integer(input) library(ompr) library(ompr.roi) library(ROI.plugin.glpk) library(tidyverse) n <- length(input) MIPModel() %>% # a variable for each input number
Created October 24, 2020 21:11
```library(torch)
optim_torch <- function(params, fn, method, iterations = 1000, ...) {
optimizer <- do.call(paste0("optim_", method), list(params, ...))
for (i in seq_len(iterations)) {
obj_val <- fn(params)
if (i %% 100 == 0) message(as.numeric(obj_val))
obj_val\$backward()
optimizer\$step()```
Last active September 29, 2020 20:55
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
 # investigate your project or package dependencies # using the {tidyverse}, {renv} and {tools}. # since this code is wrapped in {reprex}, the below library calls # will be identified as dependent packages although only {tidyverse}, {renv} # and {tools} are actually used. library(tidyverse, warn.conflicts = FALSE) # ironically the most deps :) # add some more dependencies as an example suppressPackageStartupMessages(library(caret, warn.conflicts = FALSE)) suppressPackageStartupMessages(library(tidymodels, warn.conflicts = FALSE))
Last active June 12, 2020 19:13

# Role based access control as a logic program

```# remotes::install_github("dirkschumacher/logician")