ErfanKhadiv

Computer engineering graduate interested in algorithms, software and artificial intelligence.

Looking for a master's place in the computer field

eil51 · iteration 0Length 0
426best known
–above best known
–best this session

  • City
  • City you added
  • Bee
  • Best route so far

Pick a benchmark instance and watch HBALS solve it live, or tap the map to add your own cities. It is a JavaScript port of the algorithm in my repository, with the settings of the final version (one swap per candidate, no adaptive neighbourhood). To finish quickly, the demo stops after 20 iterations without improvement, whereas the study used a fixed budget. How it works. Instances are from TSPLIB (Reinelt, 1991).

Research: HBALS

A hybrid Bees Algorithm with 2-opt local search, which I designed for the Traveling Salesman Problem. It was my bachelor's final project, and I am the sole author. The revised study, with an equal-budget comparison and an ablation, is on Zenodo as a preprint (not yet peer reviewed), and I aim to get it published in a peer-reviewed journal.

The problem

Given a set of cities, find the shortest route that visits each one once and returns to the start. The problem is NP-hard, so for larger inputs the practical goal is a very good route found quickly, not a proof that it is the best.

The standard Bees Algorithm can converge slowly or stall in local optima. Hybrids with local search are common, but they are often compared with weaker baselines. My question became: what does a Bees-style hybrid contribute once every method gets the same local search and the same computing budget, and which of its parts actually matter?

Reading the animation

  • White dot: a city.
  • Yellow dot: a bee, flying along the best route found so far.
  • Line: the best route so far. The counters show the iteration and its length.

In the algorithm itself, each bee is a candidate route. Bees search close to the best routes they know, while scouts try random new ones. The animation runs the real search in the background and uses the yellow dots to let you follow the best route.

How HBALS works

  1. StartA population of 20 routes: half built with nearest-neighbour, half random.
  2. RankAll routes are sorted by total length.
  3. Elite sitesThe best 3 routes each spawn 8 variants: one random swap, then 2-opt and sometimes a segment reversal.
  4. Selected sitesThe next best, up to 12 sites in all, spawn 4 variants each: one swap and a lighter 2-opt.
  5. ScoutsNew random routes refill the population so the search keeps exploring.
  6. Fixed budgetThe search runs for a fixed budget of move evaluations, the equivalent of 300 iterations, with no early stopping. The adaptive neighbourhood of my first version is gone: the ablation showed that it hurts.

Results

1.25average rank among six methods on 12 instances, the best (iterated local search: 1.96)
0.30%mean gap to the best-known tour over the 12 instances (iterated local search: 0.37%)
4 of 5other methods beaten significantly; iterated local search (ILS) is statistically level
2 of 3larger instances where ILS is significantly better (a280 and lin318)
TSPLIB instanceCitiesBest knownHBALS best foundHBALS mean gap (%)ILS-2opt mean gap (%)
eil51 51426426 ✓0.0350.200
berlin52 527,5427,542 ✓0.0000.154
st70 70675675 ✓0.0300.348
kroA100 10021,28221,282 ✓0.0080.117
ch150 1506,5286,5490.5450.541
rat195 1952,3232,3381.1840.837

20 independent runs per method, the same budget of move evaluations for every method (equivalent to 300 HBALS iterations) and the same 2-opt operator. The comparison also includes a memetic genetic algorithm, a memetic ant colony, multi-start 2-opt and a plain Bees Algorithm. Gaps are means over the 20 runs. A ✓ marks a best tour equal to the best-known one. The six instances shown are the ones you can run live; the study used 12 main instances and three larger ones.

Over 12 instances with 51 to 198 cities, a Friedman test shows that the methods differ (p < 0.001). HBALS is significantly better than the genetic, ant colony, multi-start and plain Bees Algorithm methods (Holm-adjusted p = 0.0024), but not significantly different from iterated local search overall (p = 0.13). On the larger instances a280 and lin318, iterated local search is significantly better. An ablation showed that 2-opt at the elite sites and a single-swap perturbation drive the performance. I therefore do not claim a new state-of-the-art solver. My first version compared HBALS with baselines that had no local search; the revised study corrects this, and the repository lists the corrections. The full implementation, data and results are open source under the MIT licence.

HBALS summary graphic showing the berlin52 tour and convergence curve
berlin52 with 52 cities: in the revised study HBALS reached the best-known length of 7,542 in all 20 runs. The graphic shows one run of the original version.
Cover slide of the Bee Algorithm presentation

Where it started: my Bee Algorithm presentation

A 12-slide presentation for my Artificial Intelligence and Expert Systems course (2025). It explains how real honey bees forage, how the Bees Algorithm turns that into a search method with its parameters, pseudocode and flowchart, and where it is used. The Bees Algorithm is the method HBALS builds on.

Slide: scout bees, waggle dance and follower beesSlide: pseudocode of the Bee AlgorithmSlide: flowchart of the Bee Algorithm
Li-Fi research report thumbnail

Also: Li-Fi research report

A 19-reference report on Light Fidelity for the Research Methods and Presentation course. It covers modulation methods (OOK, VPPM, OFDM, CSK) and uses in healthcare, aviation and underwater communication.

About

I am a Computer Engineering graduate with a strong foundation in algorithms, programming, computer networks and artificial intelligence.

I designed HBALS, build web apps with React and JavaScript, and like problems where there is a clear way to measure whether the answer got better.

I am looking for a master's place in the computer field, building on my major.

  • Artificial intelligence and machine learning
  • Algorithms and combinatorial optimization
  • Heuristic and metaheuristic optimization
  • Constraint satisfaction and search

Selected projects

Code is public on GitHub. Demos run in your browser.

Workfolio project thumbnail

Workfolio

Web app · resume builder

A browser-based resume builder in vanilla JavaScript, HTML and CSS, with five customizable templates, a live preview and export to PDF, Word, Excel and text. The AI Job Match tool takes a pasted job description and returns a match score, missing skills and tailoring suggestions.

  • JavaScript
  • HTML5
  • CSS3
  • AI Job Match
Kouman project thumbnail

Kouman

Web app · e-commerce front end

A multi-page online-shop front end in React with client-side routing, product pages, search and a cart saved in the browser. It works in Persian and English, right-to-left and left-to-right. The interface is inspired by an existing Iranian shop and was built for learning.

  • React
  • React Router
  • Vite
  • JavaScript
  • CSS
CS50AI problem sets project thumbnail

CS50AI problem sets

Harvard CS50's Introduction to AI with Python

All twelve projects from Harvard's CS50AI, from classical AI to neural networks: search (BFS, minimax with alpha-beta pruning), logic (Knights and Knaves, Minesweeper), probability (PageRank, Bayesian networks), a crossword solver with AC-3 and backtracking, k-NN and Q-learning, a CNN for traffic signs, CFG parsing and BERT attention analysis.

  • Python
  • Q-learning
  • CSP
  • NLP
  • CNN (TensorFlow/Keras)
Python Fundamentals project thumbnail

Python Fundamentals

Practice projects

Four small applications: a library management system with JSON storage, a password manager, a software company system in object-oriented design, and a NumPy analysis of monthly sales.

  • Python
  • OOP
  • NumPy
  • JSON

Skills

Programming
Python, C, JavaScript, SQL
AI and algorithms
Heuristic and metaheuristic optimization, Bees Algorithm, local search, constraint satisfaction, search algorithms, Q-learning, k-NN, CNNs (TensorFlow/Keras)
Libraries and tools
Git, GitHub, NumPy, Pandas
Web
React, React Router, HTML, CSS, Vite
Database
PostgreSQL
Networking
TCP/IP, routing, VLANs, Cisco switches, VPN, DNS, DHCP
Languages
Persian (native), English (advanced)
Right now
Learning machine learning and deepening my AI knowledge, and working to publish my research article.

Education

B.Sc. Computer Engineering

Islamic Azad University, Ardabil Branch, Iran · September 2022 – July 2026

18.05GPA out of 20 (152 credits)
4thrank among graduates
19.7/20average in key computer science courses (in 6 courses)
Faculty of Engineering building, Islamic Azad University, Ardabil Branch
Faculty of Engineering, Islamic Azad University, Ardabil Branch
Official record
Alumni Rank CertificateIslamic Azad University, Ardabil Branch · 13 October 2026 · certified English translation

Ranked 4th among graduates

The university certified a GPA of 18.05 out of 20 over 152 credits and a rank of 4 among the graduates of the second semester of the 2025–2026 academic year. It was issued on 13 October 2026; this is the certified English translation of the Persian original.

Personal numbers and QR codes are blurred for privacy.

English
Erfan Khadiv holding his passport in front of the British Council IELTS test centre in Van, Turkey, just before his exam
Van, Turkey, 4 September 2026, just before the exam. The highlighted sign is the British Council IELTS test centre.

IELTS Academic, 8.0 overall

I sat the exam at the British Council test centre in Van, Turkey, on 4 September 2026.

8.5Listening
9.0Reading
7.0Writing
6.5Speaking
Certificates
IELTS Test Report FormAcademic, 8.0 overall · personal numbers blurred
CS50 Introduction to AI with PythonHarvard · May 2025 · twelve projects
Verify online
CS50x Introduction to Computer ScienceHarvard · May 2024 · ten problem sets and a final project
Verify online
CS50P Introduction to Programming with PythonHarvard · October 2024 · nine problem sets and a final project
Verify online
Network Plus and Practical Networking FundamentalsFaraDars · December 2025 · ID 5987D551
Verify online
Learning in practice
Laptop on a lap in the university campus green space, running CS50 problem set checksCS50
Working through CS50 problem sets in the campus green space between classes.
Monitor showing a code editor next to the CS50P lecture videoCS50
Following the CS50P lectures with my editor open beside the course.
A sine wave on a GW GOS-652G oscilloscope during the Electrical Circuits Laboratory classCircuits lab
Electrical Circuits Laboratory class: reading a signal on the oscilloscope.
A breadboard circuit with two oscilloscope probes attachedCircuits lab
The breadboard circuit with the two probes attached, in the same class.

Experience

Erfan Khadiv in a Ports and Maritime Organization safety vest working on a network cabinet
On site during the internship: a network cabinet with switches and patch panels.

A summer at the port

IT and Networking Intern · Ports & Maritime Organization of Iran, Astara · Summer 2025 · 120 hours

Before this internship, networks were something I drew on paper and configured in lab exercises. At the port in Astara they were cabinets, cables and people who needed everything to just work.

I got to work on real equipment: switches and patch panels, VLANs, VPN, DNS and DHCP. I learned that troubleshooting is mostly patience and knowing the next good question to ask, and I enjoyed it far more than I expected.

Working in a port was a special experience. It is a place that keeps moving, and the network quietly holds a lot of that together. It made me care about systems that people depend on without ever thinking about them.

Let's talk.

Based in Astara, Iran.