Skip to content
You must be logged in to sponsor orxfun

Become a sponsor to Ugur Arikan

Hi, I'm Uğur Arıkan

👋 𝙰𝚋𝚘𝚞𝚝 𝙼𝚎

🤟 I like

all things OR programming languages
optimization ⭐ rust, c#
algorithms & data structures 👍 react, ts, c++
multiobjective decision making 👌🏽 go, f#
speed & efficiency 🤔 zig

🎈 𝙸'𝚖 currently 𝚞𝚙 𝚝𝚘

  • An expressive, efficient and productive mathematical programming / modeling crate for rust. why?
    • I appreciate how early good_lp allowed us to build mathematical models in rust. However, I find the taken common approach imperative, verbose and error-prone.
    • Working on a macro-free and concise api which does not require more lines than the model on the paper has.
    • You may see a demo in C# below, and find design choices of the underlying library here.
    • Targeting similar design choices with rust as summarized below:
concise simple solver agnostic reusable & composable model components
immutable type safe separation of model from data abstraction over inputs
  • Working to make self referential collections convenient & efficient while staying safe. why?

    • Such collections are common building blocks of data structures used in many algorithms.
    • They can be be implemented unsafely, in unsafe rust or c++. They can also be implemented safely in garbage collected languages. Can we get the best of both, i.e., safe and efficient rust implementation.
    • Towards this target, I worked on orx-pinned-vec & orx-fixed-vec & orx-split-vec & orx-imp-vec & orx-selfref-col.
    • This allowed me to build orx-linked-list with regular & references and without any unsafe pointer access, unlike the std implementation.
    • Efficient & flexible trees 🌴 and graphs are in progress.
    • As a by-product, vectors with pinned elements led to convenient orx-concurrent-bag.
  • Also working on efficient data structures that I need in algorithms, such as orx-priority-queue.

  • And trying some experimental functional ideas such as orx-closure and orx-funvec.

knapsack

mathematical modeling in action 🔎

knapsack

@orxfun

five for five star motivation

Featured work

  1. orxfun/orx-mathprog-gallery

    Gallery of mathematical models by orx-mathprog of well-known problems.

    HTML
  2. orxfun/orx-priority-queue

    Priority queue traits and efficient d-ary heap implementations.

    Rust 2
  3. orxfun/orx-split-vec

    An efficient constant access time vector with dynamic capacity and pinned elements.

    Rust
  4. orxfun/orx-pinned-vec

    PinnedVec trait defines the interface for vectors which guarantee that elements added to the vector are pinned to their memory locations unless explicitly changed.

    Rust 1
  5. orxfun/orx-linked-list

    An efficient and recursive singly and doubly linked list implementation.

    Rust 4
  6. orxfun/orx-selfref-col

    `SelfRefCol` is a core data structure to conveniently build safe and efficient self referential collections, such as linked lists and trees.

    Rust 1

0% towards 5 monthly sponsors goal

Be the first to sponsor this goal!

Select a tier

$ a month

Choose a custom amount.

$5 a month

Select

Overpriced coffee ☕

$100 a month

Select
  • Access to pre-release builds of my project
  • Shape the development direction & development priorities