# About Spartan Ideas

Spartan Ideas is a collection of thoughts, ideas, and opinions independently written by members of the MSU community and curated by MSU Libraries

In response to the novel coronavirus outbreak, advice about public health measures, and the need to support online teaching and learning, activities at MSU that are deemed non-essential are being stopped at this time. Therefore, selection of blog entries for the Spartan Ideas web site has been suspended. We ask for your patience during this unusual situation for our university and our country

# Reversing Differences

Fellow blogger Håkan Kjellerstrand posted an interesting question on OR Stack Exchange recently. Starting from a list of integers, it is trivial to compute the list of all pairwise absolute differences, but what about going in the other direction? Given the pairwise (absolute) differences, with duplicates removed, can you recover the source list (or a …

More

# Collections of CPLEX Variables

Recently, someone asked for help online regarding an optimization model they were building using the CPLEX Java API. The underlying problem had some sort of network structure with $$N$$ nodes, and a dynamic aspect (something going on in each of $$T$$ periods, relating to arc flows I think). Forget about solving the problem: the program …

More

# Generic Callback Changes in CPLEX 12.10

CPLEX 12.10 is out, and there have been a few changes to the new(ish) generic callbacks. Rather than go into them in detail (and likely screw something up), I’ll just point you to the slides for a presentation by Daniel Junglas of IBM at the 2019 INFORMS Annual Meeting. I’ve written about half a dozen …

More

# Greedy Methods Can Be Exact

We generally sort optimization algorithms (as opposed to models) into two or three categories, based on how certain we are that solutions will be either optimal or at least “good”. An answer by Michael Feldmeier to a question I posted on OR Stack Exchange neatly summarizes the categories: exact methods eventually cough up provably optimal …

More

# 1-D Cutting Stock with Overlap

An interesting variation of the 1-D cutting stock problem was posed on OR Stack Exchange. Rather than having a specified demand for various size cut pieces, the requirement is to cut pieces to cover a specified number of units of fixed lengths. Moreover, you can use multiple pieces to cover one target unit, but if …

More

# Generosity, Humility, Vulnerability

A few conversations in recent days, as well as a bunch of the reading I did during my holiday writing retreat, have led me back to thinking about generosity. One would think I’d have exhausted myself on that concept, but not even close. In the same way that I find myself continually relearning the same …

More

# New Publication: Spam and Educators’ Twitter Use

Several months ago, I wrote about a presentation on spam in educational Twitter research that I prepared with my colleagues Jeff Carpenter, Matt Koehler, and Bret Staudt Willet. Since that presentation, we’ve been hard at work continuing this project, and I’m pleased to announce that Spam and educators’ Twitter use: Methodological challenges and considerations has is now available “online first” through TechTrends. At …

More

# In the Age of AI (Frontline, PBS)

Something to share with your normie (i.e., non-technical) friends :-) I can’t point to anything specific I learned from the documentary, but I was entertained and interested throughout. For a non-specialist, this is a very good introduction to the topic. See also Manifold Podcast #16 with John Schulman of OpenAI :-) John Schulman is …

More

# That Didn’t Last Long

My previous post did not age well. After a gorgeous start, Autumn has come to a bitter end here in East Lansing—many weeks before the official start of Winter. We had several inches of snow two nights ago, followed by extreme cold last night. It is quite beautiful, though, as you can see in the …

More

# The Peril and Promise of Historians as Data Creators: Perspective, Structure, and the Problem of Representation

[This is a working draft of a chapter in progress for an edited collection.] Data-Driven History Digital historians are well-familiar with notion that the larger community of historians generally has been skeptical of and cautious about data-driven scholarship. The controversies surrounding Robert Fogel and Stanley Engerman’s 1974 work, Time on the Cross: the Economics of American …

More

# No Quality Without Equity

In October 2019, I attended a three-day workshop on Driving Institutional Change for Research Assessment Reform jointly convened by the Howard Hughes Medical Institute (HHMI) and the Declaration on Research Assessment (DORA) on the beautiful HHMI campus in Chevy Chase, Maryland. My time with the 60 or so participants in the workshop, which included researchers, librarians, administrators, funders, members of learned societies, and …

More

# Beginnings and Endings

As I approach the conclusion of seven years of blogging under the moniker of Possibilitator, it is clear that my production has dropped precipitously. It has been clear since early this year that my ability to read and write at the earlier level is diminished. So as I looked back recently at some of those posts …

More

# Self-Assessment

A writer whose work I admire enormously tweeted the other day about the new book they’re working on and the joy they’re taking in it. Reading this tweet left me simultaneously delighted and saddened — delighted because there will soon be more amazing work for me to learn from; saddened because… well, because me. Because …

More

# Catalyst of Collaboration

On September 26, 2019, I had the opportunity to address the Michigan State University President’s Council, which includes the Deans Council and the Executive Leadership of the University, about the values-based strategic planning process we have undertaken in the College of Arts & Letters. In our ongoing effort to cultivate habits of openness, we have been consulting …

More

# A Value-ordered Java Map

For a project I’m working on (in Java), I wanted to store pairs of items in a key-value map. The catch is that I need the items sorted according to the values, not the keys. Java provides an efficient, presorted mapping in the TreeMap class, but it sorts on the keys, not the values. Revering …

More

# Freezer Burn

One of the more challenging aspects of running a microbiology lab, in my opinion, is freezer management.  There’s a lot to keep track of, both in terms of quantity and quality.  My lab team and I take great pride in the quality control of our work that has allowed us, for example, to keep the …

More

# Numerical Inaccuracy (Linear Algebra Edition)

“There are three kinds of lies: lies, damned lies, and statistics.” The origin of the statement is lost in time, but the sentiment lives on. I’m tempted to give it a 21st century update. “There are three kinds of lies: lies, damned lies, and floating point arithmetic.” I am currently working on a research project …

More

# AI in the Multiverse: Intellects Vast and Cold

In quantum mechanics the state of the universe evolves deterministically: the state of the entire universe at time zero fully determines its state at any later time. It is difficult to reconcile this observation with our experience as macroscopic, nearly classical, beings. To us it seems that there are random outcomes: the state of an …

More

# Half Life

Today marks a unique day for the LTEE and me. The LTEE started on February 17, 1988.  That was 11,517 days ago. I was born on August 13, 1956.  That was 23,034 days ago. That means that the LTEE is now half as old as I am. To put it another way, I’ve spent half …

More

# Some Periodic Functions

Let’s start with a basic “calculus fact”. Theorem 1  If f is a non-constant, continuous periodic function on R, then there exists a smallest positive real number λ satisfying f(x+λ)=f(x) for all x. Proof: By definition of periodicity, there exists a subset Λ⊂R satisfying f(x+λ)=f(x) for every x∈R and λ∈Λ. Necessarily Λ is closed under …

More

# Brainpower Matters: The French H-Bomb

Michel Carayol, father of the French H-Bomb. The article below illuminates several mysteries concerning the French development of thermonuclear weapons. Why did it take so long? Did the French really need help from the British? Who had the crucial idea of radiation compression? The original inventors were Ulam and Teller. In the USSR it was Sakharov. The …

More

# Using Java Collections with CPLEX

Disclaimer: What follows is specific to Java, but with some name changes will also apply to C++. If you are using one of the other programming APIs for CPLEX, something analogous may exist, but I would have no idea about it. I’ve seen a few questions by CPLEX users on forums recently that suggest the …

More

# Politics, Tariffs and the Popular Vote

The State of the State Podcast discusses issues, questions, answers, policy and research on the hottest topics on the local, state and national stage. State of the State podcasters Interim IPPSR Director Arnold Weinfeld and Charles Ballard, Director of IPPSR’s State of the State Survey, will talk together and share the air with frequent guests …

More

# Umhlaba Podcast: Soccer and Education in Africa and America

In the pilot episode of “The Umhlaba Podcast” I spoke with Boyzzz Khumalo and Yazeed Matthews about soccer and education in South Africa and the United States. Both men are from Johannesburg, but grew up in different areas with distinct experiences. Matthews hails from the Westbury neighborhood, a segregated area reserved for “Coloureds” (biracial South …

More

# Evaluating Expressions in CPLEX

There’s a feature in the Java API for CPLEX (and in the C++ and C APIs; I’m not sure about the others) that I don’t see mentioned very often, possibly because use cases may not arise all that frequently. It became relevant in a recent email exchange, though, so I thought I’d highlight it. As …

More

# Frank Pommersheim Symposium — Matthew Fletcher

I met Frank Pommersheim in Rapid City, South Dakota in 2004, a few months before I was to begin teaching law students at North Dakota. We were presenting at a pipeline program for Native high school and college students, trying to show them that they could go to law school, too. Frank was to conduct …

More

# R v. Python

A couple of days ago, I was having a conversation with someone that touched on the curriculum for a masters program in analytics. One thing that struck me was requirement of one semester each of R and Python programming. On the one hand, I can see a couple of reasons for requiring both: some jobs …

More

# A Java Container for Parameters

A few days ago, I posted about a Swing class (and supporting stuff) that I developed to facilitate my own computations research, and which I have now made open-source in a Bitbucket repository. I finally got around to cleaning up another Java utility class I wrote, and which I use regularly in experiments. I call …

More

# A Swing Platform for Computational Experiments

Most of my research involves coding algorithms and running computational experiments with them. It also involves lots of trial-and-error, both with the algorithms themselves and with assorted parameters that govern their functioning. Back in the Dark Ages, I did all this with programs that ran at a command prompt (or, in Linux terms, in a …

More

# Indicator Constraints v. Big M

Way, way back I did a couple of posts related to how to model “logical indicators” (true/false values that control enforcement of constraints): Logical Indicators in Mathematical Program Indicator Implies Relation The topic ties in to the general issue of “big M” model formulations. Somewhere around version 10, CPLEX introduced what they call indicator constraints, …

More

# Naming CPLEX Objects

A CPLEX user recently asked the following question on a user forum: “Is there a way to print the constraints as interpreted by CPLEX immediately after adding these constraints using addEq, addLe etc.” The context for a question like this is often an attempt to debug either a model or the code creating the model. …

More

# How to Crash CPLEX

A question elsewhere on the blog reminded me that some users of the CPLEX programming APIs are not conscious of a “technicality” that, when violated, might cause CPLEX to crash (or at least throw an exception). The bottom line can be stated easily enough: modifying a CPLEX model while solving it is a Bozo no-no. …

More

# Alegi on the global state of women’s football

With the 2019 FIFA Women’s World Cup underway, media interest in the competition and the female game has spiked. On June 8, I spoke with CGTN’s Frances Kuo about the challenges and opportunities facing women football players during Day 2 of the tournament in France. In response to the anchor’s question about why women’s football is …

More

# We Have Never Been Social

Last week, I had the pleasure of chatting with Bryan Alexander on his Future Trends Forum. We were primarily focused on Generous Thinking, but by way of having me introduce myself, Bryan asked what I’m working on this year. I mentioned that I’m in the early research phases of what might turn out to be a new …

More

# Summer 2019

I’m titling this post “Summer 2019” in part as a way of reminding myself, as firmly as possible, that the summer has begun, in order to get myself focused on a new set of priorities as quickly as possible. The transition from spring into summer has always been a bit of a challenge for me. …

More

# The adventures of science — an introduction

In wildlife biology research comes bundled with high amounts of unpredictability courtesy of the field, including roaring mountain lions, forest fires, and even bear attacks! This does not however, hinder the desire to continue enjoying the opportunity to explore and discover what nature has given us. I kicked off the fieldwork of my master’s research …

More

# Randomness: Friend or Foe?

I spent a chunk of the weekend debugging some code (which involved solving an optimization problem). There was an R script to setup input files and a Java program to process them. The Java program included both a random heuristic to get things going and an integer program solved by CPLEX. Randomness in algorithms is …

More

# Getting Tenure in Digital and Public History, as a Non-Man

Earlier this week, the AHA’s Perspectives on History site published an article from LaDale Winling entitled “Getting Tenure in Digital History: How One Scholar Made His Case.” Dr. Winling presents arc of his career in the history department at Virginia Tech, from his hiring in 2011 to his tenure case in 2017. He suggests that candidates working in digital …

More

# National Council of Urban Indian Health 2d Annual Conference

I am delighted to be presenting a keynote speech titled “Race, Politics, and the Constitution” today for the National Council of Urban Indian Health (PR here). Francys Crevier (PLSI 2010), my former student, is the Executive Director of the organization. My talk will take the theme of my forthcoming paper “Politics, Indian Law, and the …

More

# CPLEX Callbacks: ThreadLocal v. Clone

A while back, I wrote a post about the new (at the time) “generic” callbacks in CPLEX, including a brief discussion of adventures with multiple threads. A key element was that, with generic callbacks, IBM was making the user more responsible for thread safety. In that previous post, I explored a few options for doing …

More

This was originally published at The Sports Column. ‘Enough Already!’ With Big Sports Salaries The elephant in the room is increasing income inequality—the outlandish incomes and escalating growth at the top of the income chain. Perhaps nowhere is that situation more evident than in athletics. Last month we saw two record-breaking salaries. The Phillies’ Bryce Harper signed for …

More

# Scholars, It’s Time to Take Control of Your Online Communities

Crossposted from the Humanities Commons Team blog. A couple of years ago, I got a bit fed up with the ways that certain for-profit networks were purporting to provide scholars with opportunities to share their work openly with one another, and I decided that it was time to mouth off about it a bit: about the fact …

More

# MSU Research Update (video)

Remarks at a recent Michigan State University leadership meeting. MSU is currently #1 in the US in annual Department of Energy (DOE) and DOE + NSF (National Science Foundation) funding. There are ~30 institutions in the US with larger annual research expenditures than MSU, however in all but a few cases (e.g., MIT and UC …

More

# Interview with Genetic Engineering & Biotechnology News

Polygenic Risk Scores and Genomic Prediction: Q&A with Stephen Hsu In this exclusive interview, Stephen Hsu (Michigan State University and co-founder of Genomic Prediction) discusses the application of polygenic risk scores (PRS) for complex traits in pre-implantation genetic screening. Interview conducted by Julianna LeMieux (GEN). GEN: What motivated you to start Genomic Prediction? STEVE …

More

# Pseudocode in LyX Revisited

This post is strictly for users of LyX. In a previous post I offered up a LyX module for typesetting pseudocode. Unfortunately, development of that module bumped up against some fundamental incompatibilities between the algorithmicx package and the way LyX layouts work. The repository for it remains open, but I decided to shift my efforts …

More

# Failures to Listen

One year ago today, Rachael Denhollander addressed the Ingham County court in Michigan, her abuser, and the institutions that failed to protect her and her #SisterSurvivors. Listen again to part of what she said on January 24, 2018: This is what it looks like when institutions create a culture where a predator can flourish unafraid and …

More

# Attitude of Possibility

Putting together a 1,000-piece jigsaw puzzle seems an appropriate metaphor for the challenges ahead of us as a human family. This one took my wife, Ellen, and me, about a week of coming and going. It was a good activity for some frigid, snowy days and evenings. We didn’t count the hours, we simply hovered …

More

# Guessing Pareto Solutions: A Test

In yesterday’s post, I described a simple multiple-criterion decision problem (binary decisions, no constraints), and suggested a possible way to identify a portion of the Pareto frontier using what amounts to guesswork: randomly generate weights; use them to combine the multiple criteria into a single objective function; optimize that (trivial); repeat ad nauseam. I ran …

More

# Guessing Pareto Solutions

One of the challenges of multiple-criteria decision-making (MCDM) is that, in the absence of a definitive weighting or prioritization of criteria, you cannot talk meaningfully about a “best” solution. (Optimization geeks such as myself tend to find that a major turn-off.) Instead, it is common to focus on Pareto efficient solutions. We can say that …

More

# Binary / Integer Conversion in R

I’ve been poking around in R with an unconstrained optimization problem involving binary decision variables. (Trust me, it’s not as trivial as it sounds.) I wanted to explore the entire solution space. Assuming $$n$$ binary decisions, this means looking at the set $$\{0,1\}^n$$, which contains $$2^n$$ 0-1 vectors of dimension $$n$$. For reasons I won’t …

More