Skip to content

Instantly share code, notes, and snippets.

@270ajay
270ajay / basic_price_prediction_regression.py
Last active September 27, 2021 09:24
Basic machine learning - Regression
"""https://www.coursera.org/learn/ml-foundations?specialization=machine-learning#about"""
from matplotlib import pyplot
import pandas
import seaborn
from sklearn import linear_model
from sklearn import model_selection
from sklearn import metrics
@270ajay
270ajay / pricingOut.py
Last active June 12, 2021 11:56
Pricing out - Idea used in Column Generation
from ortools.linear_solver import pywraplp
'''
Pricing out:
- This idea is used in Column Generation
- Course: https://www.edx.org/course/optimization-methods-for-business-analytics, Week5
==============================================================================
Idea
@270ajay
270ajay / heuristicsMetaheuristicsForVRP.py
Created May 1, 2021 01:03
Nearest neighbor, two opt, iterated local search on two opt, simulated annealing on two opt
import math, random, networkx
from matplotlib import pyplot
def getData():
data = {}
data["locationList"] = ["Depot", "loc1", "loc2", "loc3", "loc4", "loc5", "loc6", "loc7", "loc8", "loc9", "loc10"]
data["travelMatrix"] = {'Depot': {'Depot': 0, 'loc1': 35, 'loc2': 10, 'loc3': 15, 'loc4': 23, 'loc5': 20, 'loc6': 34, 'loc7': 3, 'loc8': 37, 'loc9': 12, "loc10": 20},
'loc1': {'Depot': 35, 'loc1': 0, 'loc2': 25, 'loc3': 22, 'loc4': 12, 'loc5': 18, 'loc6': 14, 'loc7': 37, 'loc8': 6, 'loc9': 23, "loc10": 20},
'loc2': {'Depot': 10, 'loc1': 25, 'loc2': 0, 'loc3': 5, 'loc4': 13, 'loc5': 11, 'loc6': 25, 'loc7': 12, 'loc8': 27, 'loc9': 4, "loc10": 13},
@270ajay
270ajay / advancedModeling2Week2.py
Created December 24, 2020 13:02
Advanced constraint programming modeling - 2
from ortools.sat.python import cp_model
import random
''' course: https://www.coursera.org/learn/solving-algorithms-discrete-optimization#about
About solver strategies and how global constraints work'''
def theYaoCaoModel():
model = cp_model.CpModel()
@270ajay
270ajay / advancedModeling2Week1.py
Created December 24, 2020 11:44
Advanced constraint programming modeling - 2
from ortools.sat.python import cp_model
''' course: https://www.coursera.org/learn/solving-algorithms-discrete-optimization#about
About how cp works and intro to solver strategies'''
def patchingThe9HeavensProblem(): #sudoku problem
model = cp_model.CpModel()
@270ajay
270ajay / advancedModelingWeek5.py
Created December 23, 2020 16:15
Advanced constraint programming modeling
from ortools.sat.python import cp_model
''' course: https://www.coursera.org/learn/advanced-modeling#about
These models have different classes of symmetries.
Week6 is about symmetries.
Currently ortools don't have methods for symmetry breaking '''
def crossbowTrapProblem(): # nqueens problem
@270ajay
270ajay / advancedModelingWeek4.py
Created December 23, 2020 07:35
Advanced constraint programming modeling
from ortools.sat.python import cp_model
''' course: https://www.coursera.org/learn/advanced-modeling#about '''
def squarePackingProblem():
model = cp_model.CpModel()
copyList = [4, 3, 0, 5, 4, 3, 4]
@270ajay
270ajay / advancedModelingWeek3.py
Created December 22, 2020 07:32
Advanced constraint programming modeling
from ortools.sat.python import cp_model
''' course: https://www.coursera.org/learn/advanced-modeling#about '''
def basicScheduling():
model = cp_model.CpModel()
taskList = ["FUNDS", "SOLDIERS", "DEFENSE", "WEAPONRY", "ELITEARMY", "RAW_MATERIALS", "CRAFTSMEN", "CASTING", "BRICKS", "WALL"]
@270ajay
270ajay / advancedModelingWeek2.py
Created December 21, 2020 07:24
Advanced constraint programming modeling
from ortools.sat.python import cp_model
''' course: https://www.coursera.org/learn/advanced-modeling#about '''
def formTeam(model, booleanVarList, archerList, cavalryList, infantryList):
varList = []
for archer in archerList:
varList.append(booleanVarList[archer])
@270ajay
270ajay / advancedModelingWeek1.py
Created December 21, 2020 07:23
Advanced constraint programming modeling
from ortools.sat.python import cp_model
''' course: https://www.coursera.org/learn/advanced-modeling#about '''
def theCavalryWedgeProblem():
model = cp_model.CpModel()
horseList = ["H1", "H2", "H3", "H4", "H5", "H6", "H7", "H8", "H9", "H10"]
riderList = ["R1", "R2", "R3", "R4", "R5", "R6", "R7", "R8", "R9", "R10", "R11"]